undefined
[백준 - node.js] 1, 2, 3 더하기 9095번 본문
반응형
문제 설명
https://www.acmicpc.net/problem/9095
9095번: 1, 2, 3 더하기
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.
www.acmicpc.net
문제 풀이
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
let n = 0;
let count = 0;
rl.on('line', function (line) {
if (!count) n = +line;
else input.push(+line);
count++;
}).on('close', function () {
solution(input);
process.exit();
});
const solution = input => {
// 초기세팅
let count = 0;
let answer = [];
// 테스트 케이스 만큼 돌리기
for (let n of input) {
// dfs
const dfs = sum => {
// base case => sum이 주어진 n과 같다면 카운팅
if (sum === n) {
count++;
return;
}
// 1~3까지 범위 순회
for (let i = 1; i <= 3; i++) {
// sum이 n보다 작다면 재귀로 더해주기를 반복한다
// 같은 경우까지 pass 해줘야 sum = n이 되었을 때 카운팅됨
if (sum + i <= n) {
dfs(sum + i);
}
}
};
dfs(0);
answer.push(count);
count = 0;
}
console.log(answer.join('\n'));
};
반응형
'Coding Test' 카테고리의 다른 글
[백준 - node.js] 스타트와 링크 14889번 (1) | 2022.09.23 |
---|---|
[백준 - Node.js] 암호 만들기 1759번 (0) | 2022.09.23 |
[백준 - node.js] 외판원 순회2 10971번 (1) | 2022.09.21 |
[백준] 다음 순열 10972번 - Javascript / Node.js (0) | 2022.09.11 |
[백준] 후위 표기식2 1935번 - Javascript / Node.js (0) | 2022.09.08 |