Where who wants to meet someone
백준 Swift [2869] 달팽이는 올라가고 싶다 본문
728x90
난이도
브론즈 I
문제
https://www.acmicpc.net/problem/2869
2869번: 달팽이는 올라가고 싶다
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
내 답안
let input = readLine()!.split(separator: " ").map { Int($0)! }
/*
n 만큼의 날만큼 올라가고 내려가고를 반복하고 마지막날 올라가면 끝인 문제
n(a - b)이지만 이러면 na - nb이기 때문에 마지막날 내려가는 것까지 계산되기에 b를 더해줘야 해서 최종으로 다음과 같은 식
v = n(a - b) + b
n(a - b) = v - b
n = (v - b) / (a - b)
*/
print((input[2] - input[1]) % (input[0] - input[1]) == 0 ? (input[2] - input[1]) / (input[0] - input[1]) : (input[2] - input[1]) / (input[0] - input[1]) + 1)
- 첫 시도에서는 반복문으로 (a - b) 만큼 빼주다가 시간 초과가 되었음
- 두 번째 시도에서는 반복문을 단순화하려다가 답이 틀렸음
- 마지막으로 이 문제가 도대체 무엇을 원하는 것일까 하고 다시금 생각을 한 결과가 코드 블럭의 주석부분.
'백준 알고리즘 문제 기록 > 일반 수학 1' 카테고리의 다른 글
백준 Swift [10757] 큰 수 A+B (0) | 2023.07.01 |
---|