본문 바로가기

PYTHON

[백준 2869 | python3 | 기본 수학1] 26. 달팽이는 올라가고 싶다

728x90
반응형
Q)
땅 위에 달팽이가 있다.
이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다.
하지만, 밤에 잠을 자는 동안 B미터 미끄러진다.
또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.


입력)
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다.
(1 ≤ B < A ≤ V ≤ 1,000,000,000)

2 1 5

100 99 1000000000


출력)
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.

4

999999901

 

 

 

내 풀이 - 시간초과 실패)

 

다른 풀이)

시간을 줄이기 위해

sys 를 써서 입력을 받고, 

반복문 없이 식을 만들어서 바로 계산하게끔 해야한다!

 ==> a * 소요일 - b * (소요일-1) >= 높이 (밤에 내려가는 시간은 다음날에 적용해야함.)

 ==> 공식을 계산하면 "소요일 >= (높이 - 밤) / (낮 - 밤)  에서 소수점이 나오면 올림해야 함.

조건문으로 결과가 정수일 때와 소수일 때 구별
소수점 올림을 이용한 풀이

 

728x90
반응형