언젠가는 펼쳐 볼 아카이브
[BOJ] 2869번 - 달팽이는 올라가고 싶다 본문
사용언어 : 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 |