본문 바로가기
Algorithms/코테 문풀

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

by hi-rachel 2023. 8. 17.

문제

https://www.acmicpc.net/problem/2869

 

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

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

 

풀이

import sys
import math

a, b, v = map(int, sys.stdin.readline().split())

day = (v - b) / (a - b)
print(math.ceil(day))

 

아이디어

  • 달팽이가 정상에 올라간 후에는 미끄러지지 않으므로 올라야 하는 나무 높이 = (v - b)
  • 하루에 올라갈 수 있는 높이 = (a - b)
  • (v - b) / (a - b)을 나눠 3.2일 걸린다는 소리는 4일 걸린다는 소리이므로 math.ceil() 사용

 

- 다른 풀이

a, b, v = map(int, sys.stdin.readline().split())

if (v - b) % (a - b) == 0:
  print((v-b)//(a-b))
else:
  print((v-b)//(a-b)+1)
  • (v - b) % (a - b) == 0이면 정상 도착!
  • 0이 아니라면 낮 동안 정상까지 가지 못해 밤에 미끄러졌다는 뜻으로 + 1