728x90
https://www.acmicpc.net/problem/2869
문제
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
출력
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.
코드 정답
a, b, v = map(int, input().split())
cnt = (v-b)/(a-b)
print(int(cnt) if cnt == int(cnt) else int(cnt)+1)
풀이
1행 : 문자를 입력받아 정수형으로 변환 후 각각 변수 a, b, v 에 저장한다.
2행 : 달팽이가 올라간 날짜를 계산하는 용도로 사용될 cnt 라는 변수를 생성하여 (v-b) / (a-b) 가 실행된 값을 저장해준다. 정수간의 계산이지만 나눗셈을 했으므로 실수형으로 저장된다.
3행 : cnt 를 int() 로 감싸줘 정수형으로 변환한 것을 출력할 것이다. 만약 cnt 가 정수형으로 변환된 cnt 와 같다면 cnt 를 정수형으로만 바꿔 출력하고, 아니라면 정수형으로 변환한 cnt 에 1의 값을 추가하여 출력한다.
왜냐하면 4.0 일 경우 딱 4일에 알맞게 꼭대기에 도착한 것이지만, 4.3 과 같은 것이라면 정수형으로 변환될 때 4 로 바뀌므로 1일을 추가해줘야한다.
728x90
'BaekJoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준] 기본 수학 1 - 2775번 (Python) (0) | 2022.12.01 |
---|---|
[백준] 기본 수학 1 - 10250번 (Python) (0) | 2022.12.01 |
[백준] 기본 수학 1 - 1193번 (Python) (0) | 2022.11.29 |
[백준] 기본 수학 1 - 2292번 (Python) (1) | 2022.11.29 |
[백준] 기본 수학 1 - 1712번 (Python) (0) | 2022.11.29 |