반응형
# 문제
# 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
# 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
# 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
# 입력
# 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
# 출력
# 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.
# 예제 입력 1
# 2 1 5
# 예제 출력 1
# 4
# 예제 입력 2
# 5 1 6
# 예제 출력 2
# 2
# 예제 입력 3
# 100 99 1000000000
# 예제 출력 3
# 999999901
x = 0
while v > x:
if a == v:
break
if x + a >= v:
break
else:
x = x + a - b
day += 1
##############################################
a,b,v = map(int,input().split())
day = 1
v = v - a
if v > 0:
day += v % (a-b) == 0 and v // (a-b) or v // (a-b) + 1
print(day)
- 달팽이의 위치를 0으로 잡고 반복문을 돌면서 이동하는 것으로 로직을 생각하였으나 시간 초과가 되었다. (제한 0.15)]
- 0.15초면 반복문 없이도 풀어야 한다는 것을 착안하여 반복문 없이 로직을 구현하였다.
'코딩테스트 > 파이썬' 카테고리의 다른 글
[백준] 소수 구하기 1929 (파이썬) (0) | 2021.03.08 |
---|---|
[백준] ACM 호텔 10250 (파이썬) (0) | 2021.03.08 |
[백준] 크로아티아 알파벳 2941 (파이썬) (0) | 2021.03.08 |
[백준] 단어공부 1157 (파이썬) (0) | 2021.03.08 |
[백준] 셀프넘버 4673 (파이썬) (0) | 2021.03.08 |