반응형
    
    
    
  
                              Notice
                              
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                            Link
                            
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
                            Tags
                            
                        
                          
                          - Algorithm
- 레벨 1
- 타입 챌린지
- 프로그래머스
- HTTP 완벽 가이드
- Crawling
- BFS
- HTTP
- 소켓
- 가천대
- 자바스크립트
- 그래프
- 타입스크립트
- type challenge
- 수학
- TCP
- Node.js
- ip
- 알고리즘
- 문자열
- 쉬운 문제
- typescript
- 백준
- 프로그래머스 레벨 2
- socket
- 크롤링
- javascript
- dfs
- dp
- Nestjs
                            Archives
                            
                        
                          
                          - Today
- Total
kakasoo
[node.js] 1,2,3 더하기 ( 백준 9095번 ) 본문
반응형
    
    
    
  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 특성 상 입력 받기가 어려운데, 앞으로 이런 방식을 써야겠다.
반응형
    
    
    
  '프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
| [node.js] 카드 구매하기 ( 백준 11052번 ) (0) | 2021.03.25 | 
|---|---|
| [node.js] 큰수 A+B ( 백준 10575번 ) (0) | 2021.03.24 | 
| [node.js] 2xn 타일링2 ( 백준 11727번 ) (0) | 2021.03.24 | 
| [node.js] 2xn 타일링 ( 백준 11726번 ) (0) | 2021.03.24 | 
| [node.js] 1로 만들기 ( 백준 1463 ) (0) | 2021.03.24 | 
 
                   
                  