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

문제

땅 위에 달팽이가 있다. 이 달팽이는 높이가 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)

결과


코드 해석

  1. 혹시 몰라서 입력 부분에서 최소한의 시간을 소모하기 위해 sys.stdin.readline을 선언
  2. A, B, V를 map을 통해 순회하면서 입력을 받음 , JS는 배열을 통해 입력을 받음.
  3. 달팽이가 낮에 올라가고 밤에 미끄러지지만 낮동안에 정상에 도달할 수 있는 경우의 수를 생각하여 total 초기화
  4. 삼항 연산자를 통해서 나머지가 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
<