[백준/파이썬] 2869번 달팽이는 올라가고 싶다 풀이

업데이트:



문제 정보


풀이

문제

낮에 A만큼 오르고 밤에 B만큼 미끄러질 때 높이 V에 도달하는 최소 일수를 구하는 문제입니다.

코드

a, b, v = map(int, input().split())

def foo(n):
    global a,b
    return n*a - (n-1)*b

def bin_search(start, end):
    n = (start + end) // 2
    if(foo(n) >= v and foo(n-1) < v):
        return n
    elif(foo(n) > v):
        end = n
    else:
        start = n
    return bin_search(start, end)

print(bin_search(1, v))

설명

n일차 높이 공식을 기준으로 이분 탐색을 수행해 최초로 V 이상이 되는 날을 찾습니다.



댓글남기기