κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 9095번 : 1, 2, 3 λ”ν•˜κΈ°

πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 12. 21. 23:32

 

 

Algorithm

-  1, 2, 3 λ”ν•˜κΈ° -

 


 

문제

μ •μˆ˜ 4λ₯Ό 1, 2, 3의 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” 방법은 총 7가지가 μžˆλ‹€. 합을 λ‚˜νƒ€λ‚Ό λ•ŒλŠ” 수λ₯Ό 1개 이상 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.

  • 1+1+1+1
  • 1+1+2
  • 1+2+1
  • 2+1+1
  • 2+2
  • 1+3
  • 3+1

μ •μˆ˜ n이 μ£Όμ–΄μ‘Œμ„ λ•Œ, n을 1, 2, 3의 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” λ°©λ²•μ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

문제 ν’€κΈ°

const readline = require("readline");
const rl = readline.createInterface({
	input: process.stdin,
	output: process.stdout,
});
let input = [];
rl.on("line", function (line) {
	input.push(line.toString());
}).on("close", function () {
    input.shift();
	let values = [...Array(11)];
    values[1] = 1;
    values[2] = 2;
    values[3] = 4;

    let fillValues = (num) =>
	    (values[num] = values[num - 1] + values[num - 2] + values[num - 3]);

    for (let i = 4; i <= 10; i++) {
	    fillValues(i);
    }

    input.forEach((el) => console.log(values[+el]));
	process.exit();
});

 

 

 

λ°˜μ‘ν˜•