본문 바로가기

백준64

[백준] 1546 OX퀴즈 스위프트 코드: var input = Int(readLine()!)! for i in 1...input { var input1 = readLine()! var arr:[Character] = [] var right = 0 var sum = 0 for i in input1 { arr.append(i) } for i in 0...arr.count - 1{ if arr[i] == "O" { right = right + 1 sum = sum + right }else { right = 0 } } print(sum) } 설명: O가 나오면 1씩 더해서 sum에 더해준다 X가 나오면 0으로 초기화 하고 다시 1부터 더해준다 결과: 2021. 12. 24.
[백준] 1546 평균 스위프트 코드: var input = Int(readLine()!)! var arr = readLine()!.split(separator: " ").map{Float(String($0))!} var max = arr.max()! var sum:Float = 0 for i in 0.. 2021. 12. 24.
[백준]2562 최댓값 스위프트 코드: var arr:[Int] = [] for i in 0...8 { arr.append(Int(readLine()!)!) } for i in 0...8 { if arr[i] == arr.max(){ print(arr.max()!) print(i+1) } } =================================== var arr:[Int] = [] for _ in 1...9 { arr.append(Int(readLine()!)!) } let index = arr.firstIndex(of: arr.max()!)!+1 print(arr.max()!) print(index) 설명: 저는 위의코드로 풀었는데 firstIndex함수를 통해서 사용할 수 도 있네요 arr.max()!의 숫자가 85가 들어가.. 2021. 12. 24.
[백준]1110 더하기 사이클 스위프트 코드: var a = Int(readLine()!)! var i = 1 if a < 10 { a = a * 10 } var c = a while true { var ten = c / 10 var one = c % 10 var sum = ten + one var sumright = sum % 10 var sum2 = one*10 + sumright if a == sum2 { break } c = sum2 i = i + 1 } print(i) 설명: 입력값이 55이라고 해봅시다. 십의자리는 5고 1의자리는 5입니다 55를 10으로 나누면 5, 10의 나머지는 5이 됩니다. 5와 5을 더하면 10, 10을 sum에 할당합니다 5 + 5 = 10, 55의 (1의자리) X (10)과 sum의 1의자리 즉 (sum.. 2021. 12. 24.
[백준]10951 A+B-4 스위프트 코드: while let input1 = readLine() { var arr = input1.split(separator: " ") var a = Int(arr[0])! var b = Int(arr[1])! print(a+b) } 설명: readLine()를 바로 받아서 그 값이 있으면 input1 상수로 넣은다는 뜻입니다. readLine()에 숫자가 아닌 값이 들어가면 var a = Int(arr[0])! 에서 언랩핑하면 숫자가 아닌게 들어있으므로 앱이 죽어버립니다 결과: 2021. 12. 24.
[백준]10952 A+B-5 스위프트 코드: var a = 0 while true { var input1 = readLine()! var arr = input1.split(separator: " ") var a = Int(arr[0])! var b = Int(arr[1])! if a == 0 && b == 0 { break } print(a+b) } 설명: while문을 사용하는 코드입니다 true를 사용하면 break를 만날 때 까지 무한루프가 되므로 주의 해야 합니다 결과: 2021. 12. 24.