#11057

김민성·2023년 7월 21일
0

Baekjoon

목록 보기
29/37

백준 11057번

정답

let fs = require('fs');
let input = Number(fs.readFileSync('/dev/stdin').toString().trim());
let dp = Array.from(Array(input + 1), () => Array(10).fill(0));
let mod = 10007;

// DP table 초기화 과정
for(let i = 0; i < 10; i++){
    dp[1][i] = 1;
}

// 2 ~ N까지의 각 자릿수에 대한 오르막 수를 찾는 과정
for(let i = 2; i <= input; i++){
    for(let j = 0; j < 10; j++){
        for(let k = 0; k <= j; k++){
            dp[i][j] += dp[i-1][k];
            dp[i][j] %= mod;
        }
    }
}

let result = dp[input].reduce((acc, curr) => (acc + curr) % mod, 0);
console.log(result);

profile
다양한 활동을 통해 인사이트를 얻는 것을 즐깁니다. 저 또한 인사이트를 주는 사람이 되고자 합니다.

0개의 댓글

관련 채용 정보