백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 15990 , 1, 2, 3 더하기 5 [dp]
문제 출처
https://www.acmicpc.net/problem/15990
정답
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
const T = input.shift();
let dp = [...new Array(100001)].map(() => [0, 0, 0]);
dp[1] = [1, 0, 0];
dp[2] = [0, 1, 0];
dp[3] = [1, 1, 1];
for (let i = 4; i < 100001; i++) {
dp[i][0] = (dp[i - 1][1] % 1000000009) + (dp[i - 1][2] % 1000000009);
dp[i][1] = (dp[i - 2][0] % 1000000009) + (dp[i - 2][2] % 1000000009);
dp[i][2] = (dp[i - 3][0] % 1000000009) + (dp[i - 3][1] % 1000000009);
}
input.map((v) => {
let N = Number(v);
const result = dp[N].reduce(function add(sum, curV) {
return sum + curV;
}, 0);
console.log(result % 1000000009);
});
반응형
'알고리즘 공부 > 백준 - 자바스크립트' 카테고리의 다른 글
백준/ Silver 1 문제 , 백준 Node.js 자바스크립트 11497 , 통나무 건너뛰기 [정렬] (1) | 2022.09.25 |
---|---|
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 1835 , 카드 [deque] (0) | 2022.09.22 |
백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 11048 , 이동하기 [dp] (0) | 2022.09.20 |
백준/ Gold 5 문제 , 백준 Node.js 자바스크립트 12865 , 평범한 배낭 (0) | 2022.09.19 |
백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 2346 , 풍선 터뜨리기 (0) | 2022.09.17 |