개발새발 로그

[JS] 백준 9059 : 1, 2, 3 더하기 - DP 본문

알고리즘/DP

[JS] 백준 9059 : 1, 2, 3 더하기 - DP

이즈흐 2023. 8. 29. 00:39

https://www.acmicpc.net/problem/9095

 

9095번: 1, 2, 3 더하기

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.

www.acmicpc.net

 

 

📋풀이방법

1. 1과 2와 3으로 만드는 것이므로 일단 1, 2, 3의 숫자를 만들 수 있는 경우의 수를 수동으로 세본다.

2. 그럼 아래와 같이 나오게 된다.

3. 이후의 숫자를 다시 수동으로 적으면서 찾아보자

4. 이때 규칙이 생기는데 이전에 구했던 1, 2, 3 의 경우의 수를 이용할 수 있게 된다.

 

 

🤟내 제출

var fs = require('fs');
var inputs = fs.readFileSync('/dev/stdin').toString().split('\n').map(v=>Number(v));
var cases = inputs[0];
var arr = [0, 1, 2, 4];
for(var i=1; i<=cases; i++){
    var num = inputs[i];
    for(var j=4; j<=num; j++){
        arr[j] = arr[j-1] + arr[j-2] + arr[j-3];
    }
    console.log(arr[num]);
}

 

728x90
반응형
LIST