본문 바로가기

코드연습/BOJ

BOJ 2869 : 달팽이는 올라가고 싶다.

728x90

땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.

달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.

달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.

import sys
import math

if __name__ == '__main__':
    A, B, V = map(int, sys.stdin.readline().split())

    day = (V - B) / (A - B)

    print(math.ceil(day))

대충 계산을 해보면, V 만큼에서 자는 동안 마지막 날 내려오는 B 만큼을 뺀 것을, 하루에 올라가는 양(A-B)를 나누어서 올림 연산하면 된다. 2.3일 이면 2일이 아니라 3일이 걸려서 결국 올라간다는 거니깐...

 

참고로 python에서 일반적인 round, int는 반올림 연산을 수행한다. 때문에 math 라이브러리를 import 하여 ceil 올림 기능을 사용하여야 한다. 내림은 floor이다.

'코드연습 > BOJ' 카테고리의 다른 글

BOJ 2775 : 부녀회장이 될테야  (0) 2022.04.12
BOJ 10250 : ACM 호텔  (0) 2022.04.11
BOJ 1193 : 분수찾기  (0) 2022.04.11
BOJ 2292 : 벌집  (0) 2022.04.08
BOJ 1316 : 그룹 단어 체커  (0) 2022.04.08