문제
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
출력
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.
풀이
import sys
A,B,V = map(int,sys.stdin.readline().split())
total = (V-B) / (A-B)
print(int(total) if total == int(total) else int(total)+1)
let [A,B,V] = prompt('').split(" ");
let total = (V-B)/(A-B)
//if(parseInt(total,10) === total) console.log(total)
//else console.log(parseInt(total,10)+1);
console.log(parseInt(total,10) === total ? parseInt(total,10) : parseInt(total,10)+1)
코드 해석
- 혹시 몰라서 입력 부분에서 최소한의 시간을 소모하기 위해 sys.stdin.readline을 선언
- A, B, V를 map을 통해 순회하면서 입력을 받음 , JS는 배열을 통해 입력을 받음.
- 달팽이가 낮에 올라가고 밤에 미끄러지지만 낮동안에 정상에 도달할 수 있는 경우의 수를 생각하여 total 초기화
- 삼항 연산자를 통해서 나머지가 0으로 나누어 떨어진다면 int형 변환을 통해서 출력하고 나머지가 있다면 낮동안에 도착한 것이므로 +1 , Js는 if else문을 이용
'Algorithm' 카테고리의 다른 글
[프로그래머스] 폰켓몬 (0) | 2021.01.27 |
---|---|
[프로그래머스] 짝지어 제거하기 (0) | 2021.01.27 |
[BOJ/백준] 1065번 한수 (0) | 2021.01.26 |
[BOJ/백준] 4673번 셀프 넘버 (0) | 2021.01.26 |
[프로그래머스] 올바른 괄호 (0) | 2021.01.25 |