카테고리 없음

<백준> 2869번 파이썬 알고리즘

changha. 2021. 7. 9. 23:15
import sys
import math

a, b, v = map(int, sys.stdin.readline().split())
res = (v - a) / (a - b)
print(math.ceil(res) + 1)

쉬운 문제인듯 싶었지만 

시간초과가 났다 

반복문 없이 바로 계산을 해야 되는 것 같다 

다른 블로그를 참고해보니

res = (v - b) / (a - b)

print(math.ceil(res))로 했지만 이해가 잘 안됐다..

 

위 코드처럼 푸니까 이해가 됐다 

res = (v - a) / (a - b)​

총 길이에서 a(하루) 만큼 뺀다

왜냐면 v / (a - b)에서는 도착했을 때는 b를 빼주지 말아야 하는데 

포함했기 때문이다

그래서 그냥 먼저 a만큼 빼준다

print(math.ceil(res) + 1)

res에서 소숫점은 하루를 의미하는 거니 올림 해주고

아까 a 만큼 뺀걸 다시 더해준다.