sm 기술 블로그

59. 2869 (달팽이는 올라가고 싶다) 본문

문제/백준_파이썬

59. 2869 (달팽이는 올라가고 싶다)

sm_hope 2022. 5. 29. 19:52
A, B, V = map(int, input().split())

day = (V-B)/(A-B) 
# 목적지에 도달하면 미끄러지지않음
# 무조건 낮에 도달하므로 마지막에는 미끄러지지않음
# 결국 V-B만큼 올라가면 됨

if(day % 1 > 0): 
    day += 1

# 날짜가 소수점으로 나오면 아직 도착하지 못한 것.
# 하루를 더해주어야 함.

print(int(day))

이번 문제 자체는 쉽지만 시간제한이라는 제약 사항 때문에 많이 어렵게 느껴졌다.

높이가 얼마가 되었든지 결국에 낮에 도착하게 되고, 도착했을 때는 미끄러지지 않는다.

때문에 궁극적으로 달팽이가 올라가야하는 높이는 V-B 이다. (낮에 도착해서 미끄러지지 않아서.) 

 

그 높이에서 하루에 총 올라가는 높이는 A-B이므로 이것을 나눠주면 일 수가 나온다.

단, 일수가 소수점으로 나오는 경우에는 아직 도달하지 못한 것이고 그 다음날에 A만큼 올라가면 도달하니 하루(day+1)를 더해준다.

 

(day % 1) 은 day가 소수점이 있는지 없는지 판별해 준다.

'문제 > 백준_파이썬' 카테고리의 다른 글

61. 2775(부녀회장이 될테야)  (0) 2022.05.30
60. 10250(ACM 호텔)  (0) 2022.05.29
58. 1193(분수찾기)  (0) 2022.05.28
57. 2292(벌집)  (0) 2022.05.26
56. 1712(손익분기점)  (0) 2022.05.25
Comments