문제요약
나의 코드 및 설명
- v-b : 올라가야 할 거리
- a-b : 하루에 갈 수 있는 거리
- (v-b) % (a-b) == 0 : 낮 동안 도착한다.
- (v-b) % (a-b) != 0 : 낮 동안 도착하지 못한다. ((v-b) // (a-b) 에 1을 더해주어야 함)
a, b, v = map(int, input().split())
if ((v-b) / (a-b)) % 1 == 0:
ans = (v-b) // (a-b)
else:
ans = ((v-b) // (a-b)) + 1
print(ans)
피드백
주어진 변수의 범위가 매우 크고, 시간 제한이 매우 타이트하므로 반복문으로는 해결하지 못하는 문제이다. 솔직히 브론즈 문제가 아니었다면 수학적으로 풀 생각은 못했을 듯.. 더 컴퓨터적인 사고를 해야겠다는 것을 깨달았다. 예제 입력과 출력을 참고하여 문제를 해결할 수 있었다.
'Baekjoon' 카테고리의 다른 글
[백준] 18870 좌표 압축 (실버2) (0) | 2023.05.28 |
---|---|
[백준] 10989 수 정렬하기 3 (브론즈1) / 메모리초과 해결 : sort() 말고 계수정렬 (0) | 2023.05.28 |
[백준] 1213 팰린드롬 만들기 (실버3) (1) | 2023.05.16 |
[백준] 11650 좌표 정렬하기 (실버5) / key = lambda x: ~ (0) | 2023.05.09 |
[백준] 1018 체스판 다시 칠하기 (실버4) (0) | 2023.05.07 |