언젠가는 펼쳐 볼 아카이브

[BOJ] 2869번 - 달팽이는 올라가고 싶다 본문

IT/Baekjoon Oline Judge

[BOJ] 2869번 - 달팽이는 올라가고 싶다

개발자희망생고롸파덕 2023. 8. 30. 20:29

사용언어 : javascript - node.js

 

 

## 문제 분석

1. 달팽이가 아침에 올라가고 밤에 미끄러진 경우

  >> 하루에 총 이동한 거리 : A(아침에 올라간 거리) - B(밤에 미끄러진 거리)

.

2. 달팽이가 정상에 도착하면 미끄러지지 않고 바로 끝남. 즉 하루가 지나고 다음날 아침에 바로 정상에 도착할 때를 고려해야함. 

  - (A(아침에 올라간 거리) - B(밤에 미끄러진 거리))  * day = V(전체 높이)  

      >> 이럴 경우, 아침에 미끄러지지 않은 경우는 고려되지 않음

  - (A(아침에 올라간 거리) - B(밤에 미끄러진 거리))  * day + B(밤에 미끄러진 거리) = V(전체 높이)  

      >> 아침에 미끄러지지 않은 경우를 고려하여 미끄러진 거리만큼 더해주기

 

3. (A(아침에 올라간 거리) - B(밤에 미끄러진 거리))  * day = V(전체 높이) - B(밤에 미끄러진 거리)

    >>  day =(V(전체 높이) - B(밤에 미끄러진 거리)) / (A(아침에 올라간 거리) - B(밤에 미끄러진 거리))

 

4. 나누기 값이 소수점이 될 수 있으므로 올림처리

 

 

# 제출코드

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const [a, b, v] = fs.readFileSync(filePath).toString().trim().split(' ');

solution(+a, +b, +v);

function solution(a, b, v) {
  const day = Math.ceil((v - b) / (a - b));
  console.log(day);
}

 

'IT > Baekjoon Oline Judge' 카테고리의 다른 글

[BOJ] 2501번 - 약수 구하기  (0) 2023.08.30
[BOJ] 5086번 - 배수와 약수  (0) 2023.08.30
[BOJ] 1193번 - 분수 찾기  (0) 2023.08.30
[BOJ] 2292번 - 벌집  (0) 2023.08.28
[BOJ] 2903번 - 중앙 이동 알고리즘  (0) 2023.08.28