본문 바로가기

코딩 챌린지/알고리즘 문제 챌린지

추석맞이 코딩 챌린지2일차(21.09.19)

Happy 추석입니당!!!


두 번째 문제는

"정상 정복"문제입니다~!

아직 주제만 들어서는

감이 잡히지 않죠?!

바로 문제 풀어봅시다!

문제

달팽이는 높이가 N인 나무를 올라가고자 한다.

달팽이는 낮에는 A미터를 올라갈 수 있지만, 밤에 휴식을 취하면서 B미터 미끄러져 내려온다.

달팽이가 나무 정상에 도달하기 위해선 며칠이 걸릴까요?

조건 1 : 첫번째 줄에 A, B, N이 공백으로 구분되어 주어집니다.

조건 2 : 정상에 도달하는게 불가능할 경우, -1을 출력하세요. 수열은 수학에서 아래의 점화식으로 정의되는 수열입니다.

입/출력 예시

👉 입력 예시

2 1 5

👉 출력 예시

4

👉 입력 예시

100 101 1000000000

👉 출력 예시

-1

# 올라감 A, 내려감 B, 높이 N
A,B,n=map(int,input().split())
N=n
ans=0
while True:
    ans+=1
    # 낮
    N-=A
    if N<=0:
        print(ans)
        break
    # 밤
    N+=B
    if N>=n:
        ans=-1
        print(ans)
        break