kakasoo

[node.js] 1,2,3 더하기 ( 백준 9095번 ) 본문

프로그래밍/알고리즘 풀이

[node.js] 1,2,3 더하기 ( 백준 9095번 )

카카수(kakasoo) 2021. 3. 24. 19:50
반응형
const readline = require("readline");
const input = [];
let count = 0;

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

rl.on("line", (line) => {
    if (count === 0) {
        count = line;
        return;
    }

    if (input.length < count) {
        input.push(line);
        main(line);
        if (input.length === Number(count)) {
            rl.close();
        }
    }
}).on("close", () => {
    process.exit();
});

const main = (line) => {
    line = Number(line);
    const DP = new Array(line + 1).fill(0);
    DP[1] = 1;
    DP[2] = 2;
    DP[3] = 4;

    for (let i = 4; i <= line; i++) {
        DP[i] = (DP[i - 1] + DP[i - 2] + DP[i - 3]) % 10007;
    }
    console.log(DP[line]);
};

결국 DP 문제다.
푸는 법은, 다른 문제와 같다. 다만 node.js 특성 상 입력 받기가 어려운데, 앞으로 이런 방식을 써야겠다.

반응형