본문 바로가기
Python/백준

[Python] 백준 2869 달팽이는 올라가고 싶다 - 기본 수학1(4)

by 푸_푸 2022. 10. 1.
728x90

백준 2869 달팽이는 올라가고 싶다
문제

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

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

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

제한

이 문제는 while이나 for문을 사용해 간단하게 해결할 수 있지만, 시간 제한이 걸려있어 사용이 불가능 하다.

입력

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

출력

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


제출

import math
a,b,v=map(int,input().split())
n=(v-b)/(a-b)    
print(math.ceil(n))

해설

v-b
정상에 올라간 후에는 미끄러지지 않는다→올라가야할 높이에서 미끄러지는 미터 수를 뺀다.
a-b
올라가는 미터-내려가는 미터→하루에 총 올라가는 미터 수
math.ceil() : 올림 함수
4.5일 같이 소수인 경우 올림하여 일수로 바꾸어 준다.

 

다른 제출

#math 함수를 사용하지 않고 해결
a,b,v=map(int,input().split())
n=(v-b)/(a-b)
print(int(n) if n==int(n) else int(n)+1)


예제

2 1 5

 

5 1 6

 

100 99 1000000000


결과

백준 2869 달팽이는 올라가고 싶다

 

 

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

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

www.acmicpc.net

 

728x90

댓글