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

Hyunji·2022년 2월 28일
0

알고리즘

목록 보기
20/51
post-thumbnail

문제

땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.

달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 

또, 정상에 올라간 후에는 미끄러지지 않는다.

달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.

예제

풀이방법

A,B,V = map(int, input().split())

if (V-B) % (A-B) == 0 :
    print((V-B) // (A-B))
else :
    print(((V-B) // (A-B)) +1)
  • 달팽이는 하루에 A-B 만큼 올라간다
  • 달팽이가 올라가야하는 길이는 V-B 다. (정상에 올라간 후에는 미끄러지지 않기 때문에 V만큼을 줄여야한다.)
  • 올라가야 하는 길이 (V-B) 를 하루에 올라가는 길이 (A-B) 로 나눈다
  • 나머지가 0이 아니라면 하루가 더 필요한 것으로 보고 +1을 해준다

map() 함수

: https://velog.io/@kjhxxxx/Python-map-%ED%95%A8%EC%88%98

Python 사칙연산 연산자

사칙연산 연산자
+덧셈
-뺄셈
*곱하기
**거듭 제곱
/나누기
//나누기 연산 후 소수점 이하의 수를 버리고, 정수 부분의 수만 구함
%나누기 연산 후 몫이 아닌 나머지를 구함

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

profile
성장중인 개발자

0개의 댓글