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

정은경·2020년 3월 22일
0

백준 문제풀이

목록 보기
32/51

문제

나의 풀이

import sys
A,B,V = list(map(lambda a: int(a), sys.stdin.readline().split()))


def snail(A,B,V):
    if A >= V:
        return 1

    delta = (A-B)
    day = (V-A)//delta

    if (V-A)%delta == 0:
        return day+1
    else:
        return day+2

print(snail(A,B,V))

남의 풀이

import sys 
def solution(morning, night, tree): 
    """ex2869. 달팽이는 올라가고 싶다 
    morning: 낮에 올라간 거리 
    night: 밤에 미끄러진 거리 
    tree: 나무의 높이 
    cur_height: 현재 높이 
    day: 일 "
    "" 
    
    if morning >= tree: 
    	return 1 
    delta = (morning - night) 
    day = (tree - morning) // delta 
    
    if (tree - morning) % delta == 0: 
    	return day + 1 
    else: return day + 2 

if __name__ == "__main__": 
    a, b, v = map(int, sys.stdin.readline().split()) 
    print(solution(a, b, v))

Reference

느낀 점

  • 시간초과! 필요없는 계산을 빼자!
  • 이것은 수학문제!!!
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글