반응형
[백준] 2869 달팽이는 올라가고싶다 | 수식 | Bro1 Python
https://www.acmicpc.net/problem/2869
접근
- 시간제한 0.25초
- 시간제한때문에 반복문 없이 수식으로 해결해야 하는데 수식정리 머리가 안굴러가서 애먹은 문제..^.^
브론즈라고 만만하게 보지 마라 하늘아래 알고리즘문제는 공평하다 - math.ceil() 대신 그냥 /나누기연산 후 int()함수 적용한 결과와 같은지 비교해서 소수점유무를 알아내 처리해도 올림과 같은 효과를 낼 수 있다.
- 풀이
- 달팽이는 무조건 낮에 도착하므로, 마지막날 갈 수 있는 거리는 밤에 미끄러지는 영향을 받지 않는다.
따라서 한번의 낮 이동값을 미리 전체거리에서 빼두고,
남은 거리 이상 이동하려면 낮밤(하루)를 최소 몇번 지나야 하는지 계산하면 된다.
나눗셈과 올림 활용
- 달팽이는 무조건 낮에 도착하므로, 마지막날 갈 수 있는 거리는 밤에 미끄러지는 영향을 받지 않는다.
트러블 슈팅
- 논리적으로 모르겠으면 아예 수학, 수식적으로 접근해 정리해보기
코드
import math
A, B, V = map(int, input().split())
day = A-B
print(math.ceil((V-A)/day)+1)
반응형
'DSA > Algorithm' 카테고리의 다른 글
[백준] 5430 AC | deque, 구현 | Gol5 Python (0) | 2024.08.18 |
---|---|
[백준] 2696 치즈 | Gol4 | bfs Python (0) | 2024.08.18 |
[백준] 12904 A와 B | greedy? | Gol5 Python (0) | 2024.07.03 |
[백준] 2812 크게 만들기 | stack, greedy? | Gol3 Python (0) | 2024.07.03 |
[백준] 1946 신입사원 | greedy | Sil1 Python (1) | 2024.07.03 |