Algorithm/BOJ
[python 파이썬] 백준 2869번 달팽이는 올라가고 싶다
징늬2
2021. 4. 22. 00:18
반응형
2869번: 달팽이는 올라가고 싶다
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
이 문제는 처음에 아래와 같이 반복문으로 생각하고 풀었다.
a,b,v = map(int,input().split())
sum =0
count=0
while True:
count += 1
sum += a
if sum>=v:
break
sum -= b
print(count)
하지만 시간초과에 걸릴 것 같음을 암시했고 역시 시간초과가 나왔다.
다른 방법을 생각해봤다.
import math
a,b,v = map(int,input().split())
count = (v-b)/(a-b)
print(math.ceil(count))
나눗셈으로 풀면 된다고 생각이 들었다.
다만 나누기를 하되 (v-b)/(a-b) 에서 (v-b)에서 -b 해주었는데 그 이유는 정상에 올라갔을 때 새벽에 아래로 미끄러지는 것을 방지하기 위함이다.
그리고 math 모듈(라이브러리)을 사용했는데 올림하기 위함이다.
4.0은 4일이 걸리는 것이지만 4.2.는 5일이 걸리는 것이기 때문에 올림처리를 해주었다.
(PYTHON)파이썬 math 라이브러리
(PYTHON)파이썬 math 라이브러리 math 라이브러리 활용방법 import math #math 모듈(라이브러리)를 임포트합니다 math.수학함수(파라미터) #math 모듈(라이브러리)에 포함된 함수를 사용합니다. 자릿수를 조
reddb.tistory.com
반응형