본문 바로가기
Backjoon

Backjoon Problem 달팽이는 올라가고 싶다 - Python

by ddahu 2023. 5. 3.

2869번: 달팽이는 올라가고 싶다 (acmicpc.net)

 

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

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

www.acmicpc.net

 

 

  • 문제 해결 방법

이 문제는 수학 파트 답게 수학 식만 만들어 내면 풀 수 있는 문제다...

(수학식 만드는게 제일 어려웠다)

달팽이가 정상에 도달하는 경우는, 낮에 올라가는 높이 A와 밤에 내려오는 높이 B를 이용하여 구할 수 있다.

하루에 A-B만큼 올라가는 것을 고려하면, 달팽이가 정상에 도달하기까지 걸리는 날짜는 다음과 같이 구할 수 있다.

 

달팽이는 낮에 나무막대에 다 올라 간다 -> 그럼 도달하는 날을 X , 총 올라가는 횟수, 내려오는 횟수는 -1 일것이다.

 

A(총올라가는 횟수) - B(내려 오는 횟수) = V 이다.

A(x) - B(x-1) = V

X = (V-B) / (A -B)

 

  • 소스코드
A, B, V = map(int, input().split())

x = (V-B)/(A-B)
if x == int(x):
    print(int(x))
else:
    print(int(x) + 1)