본문 바로가기

Algorithm/BaekJoon

[백준 2869] 달팽이는 올라가고 싶다 python

반응형

문제

풀이

쉬운 문제일 줄 알았는데 시간 초과가 나기 쉬운 문제였다.
그래서 정답률이 낮은듯..
밤이 되기 전에 막대를 모두 올라가면 날짜 카운팅을 멈춰야한다.

나의 풀이

밤이 되기 전에 도착할 수 있는 것을 고려하면 다음과 같은 식을 세울 수 있다.
막대 길이에서 달팽이가 밤이 되기 전에 가는 만큼 뺀 길이(v-a)를 밤이 지나서 이동하는 거리(a-b)만큼 나누고, 그거보다 가장 큰 정수를 구하면

달팽이가 밤이 지나서 이동하는 길이가 된다.
거기에 다시 밤이 되기 전에 가는 길이인 1을 더하면
최종 결과값을 도출할 수 있다.

import math
a, b, v = map(int, input().split())
day = (v-a)/(a-b) + 1
print(math.ceil(day))

80ms 나왔다..

다른 풀이

import math
a, b, v = map(int, input().split())
day = (v-b)/(a-b)
print(math.ceil(day))

이게 좀 더 일반화된 풀이인듯

반응형