본문 바로가기

백준64

[백준] 2869 달팽이는올라가고싶다 스위프트 코드: let input = readLine()!.split(separator: " ").map{Int($0)!} var A = input[0] var B = input[1] var V = input[2] var vb = V - B // 총 올라가야하는 거리 because 정상에서는 안미끄러지기 때문 var ab = A - B // var sum = vb / ab var sumd = vb % ab if sumd != 0 { sum = sum + 1 } print(sum) 설명: V 에서 B 를 빼준이유는 정상에 올라가면 끝이기 때문이다. A 에서 B 를 빼준이유는 하루에 그만큼 올라가기 때문이다 sumd가 0이면 딱 맞아 떨어지기때문에 하루를 안더해도 되지만 나머지가 생겼다면 하루를 더 더해줘야한다 결과: 2021. 12. 30.
[백준] 1193 분수찾기 스위프트 코드: let input = Int(readLine()!)! var ja = 1 var mo = 1 var pl = 1 if input > 1{ for i in 2...input { mo = mo + pl ja = ja - pl if 1 > ja { ja = 1 pl *= -1 continue } if 1 > mo { mo = 1 pl *= -1 continue } } } print("\(ja)/\(mo)") 설명: pl을 mo, ja 각각의 변수에 + - 로 1씩 더해줬습니다. mo, ja 둘중 하나가 1보다 작아지면 양사이드에 도착한거기 때문에 pl 에 -1 을 곱해줘서 mo가 커지면 , ja가 작아지게, ja가 커지면, mo가 작아지게 했습니다. 생각해보면 쉬운데 생각을 잘 못하는것 같습니다. 이문.. 2021. 12. 29.
[백준] 2292 벌집 스위프트 코드: let input = Int(readLine()!)! let a = input var sum = 1 var i = 0 while true { sum = sum + 6 * i if a 2021. 12. 29.
[백준] 1712 손익분기점 스위프트 코드: let input = readLine()!.split(separator: " ").map{Int($0)!} //여기 오류가 난이유: input[2] - input[1] 이 0이 될수도 있기 때문 //var result = (input[0]/(input[2] - input[1])) + 1 if input[1] >= input[2] { print(-1) }else { print((input[0] / (input[2] - input[1])) + 1) } 설명: 코드를 보시면 else문에 바로 코드를 넣었습니다. 결과를 보시면 런타임 에러가 있는데 다른 블로그를 다봐도 똑같은데 오류가나서 미치는줄 알았습니다 그이유가 result 코드에서 분모가 0이 될수도 있기 때문입니다 ㅜ 결과: 2021. 12. 29.
[백준] 1316 그룹단어체커 스위프트 코드: let input = Int(readLine()!)! var count = 0 for i in 1...input { var input1 = readLine()! var arr:[Character] = [] for j in input1 { if !arr.contains(j) { arr.append(j) }else if arr.last != j { break }else { arr.append(j) } if input1.count == arr.count { count += 1 } } } print(count) 설명: 연속된 수 last와 겹치면 그룹 단어로 넘어가고 last에 없는데 j 를 포함 하고 있으면 같은단어가 떨어져 있는거기 때문에 그룹 단어가 아니다 결과: 2021. 12. 29.
[백준] 2941 크로아티아 알파벳 스위프트 코드: var input = readLine()! var count = input.count var arr = ["c=","c-","dz=","d-","lj","nj","s=","z="] for i in 0...arr.count-1 { input = input.replacingOccurrences(of: arr[i] , with: "1") } print(input.count) 설명: Foundation에 좋은 함수가 있네요. arr[i] 를 1로 바꿔준다, wiit에 숫자로 해주는게 좋아요 n으로했다가 겹쳐서 합쳐지네요 결과: 2021. 12. 28.