728x90
[Javascript] (백준 2839) 설탕 배달
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
//* 인풋 (디폴트)
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().trim().split('\n');
//* 인풋 (커스텀)
const n = +input;
//* 함수 콜 (고정)
let answer = solution(n);
answer = typeof answer === 'number' ? answer : answer.trim();
console.log(answer);
//* 로직함수
function solution(n) {
let count = 0;
while (n >= 0) {
if (n % 5 === 0) {
count += n / 5;
return count;
}
n -= 3;
count++;
}
return -1;
}
배운 점, 느낀 점
🚨 로직이 분명 맞는데 자꾸 틀려서 한시간을 날렸네요.
원인은 백준에서의 input에 10 이런식으로 한라인만 들어오는게 아니라, 10 \n 이런식으로 개행문자가 들어와서 “맞왜틀”의 연속이었습니다. 하…. 진짜 쓸데없는 걸로 시간날리니까 욕이 절로 나오네요.
여러분은 input받을 때 꼭 trim() 하십쇼.
백준을 js로 풀면 input이 진짜 열받네요 ㅋㅋ
그리디로도 풀 수 있지만, DP로도 푸는 풀이가 있더라구요. 이 문제로 DP 공부해야겠습니다. 점화식은 진짜 간단하던대… DP식 발상을 많이 연습해야겠어요.
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (프로그래머스 level 1) 소수 찾기 (0) | 2022.06.30 |
---|---|
[Javascript] (프로그래머스 level 1) 예산 (0) | 2022.06.30 |
[Javascript] (백준 9046) 복호화 (0) | 2022.06.30 |
[Javascript] (백준 4673) 셀프 넘버 (0) | 2022.06.29 |
[Javascript] (백준 20291) 파일 정리 (0) | 2022.06.27 |
[Javascript] (백준 1259) 팰린드롬 수 (0) | 2022.06.27 |
[Javascript] (백준 10816) 숫자 카드2 (0) | 2022.06.26 |
[Javascript] (백준 2217) 로프 (0) | 2022.06.26 |
댓글