백준[node.js] > 9095번 1, 2, 3 더하기

2024. 11. 23. 22:47·🔒Algorithm

문제

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

 

풀이

dp로 푼 문제풀이이다. 이 풀이가 최적화된 풀이이고 밑에 보면 dfs로도 푼 문제가 있다. 

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");

input = input.map((n) => Number(n));

for (let i = 1; i <= input.length - 1; ++i) {
    let target = input[i];

    let dp = new Array(target + 1).fill(0);
    dp[1] = 1;
    dp[2] = 2;
    dp[3] = 4;

    for (let j = 4; j <= target; ++j) {
        dp[j] = dp[j - 1] + dp[j - 2] + dp[j - 3];
    }

    console.log(dp[target]);
}

 

 

처음에 dfs로 접근했는데 그럴 필요가 없었다. 참고차 남겨둔다. 

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");


input = input.map((n) => Number(n));

for (let i = 1; i <= input.length - 1; ++i) {
    let target = input[i];
    let answer = 0;
    let dfs = (sum) => {
        if (sum === target) {
            answer += 1;
            return;
        }

        for (let j = 1; j <= 3; ++j) {
            if (sum + j > target) {
                continue;
            }
            dfs(sum + j);
        }
    };
    dfs(0);
    console.log(answer);
}

 

'🔒Algorithm' 카테고리의 다른 글

백준[node.js] > 9251번 LCS  (0) 2024.12.04
백준[node.js] > 16953번 A->B  (0) 2024.11.24
백준[node.js] > 15650번 제출  (0) 2024.11.21
백준[node.js] > 1966번 제출  (0) 2024.11.20
백준 [nodejs] > 1629번 곱셈  (0) 2024.11.17
'🔒Algorithm' 카테고리의 다른 글
  • 백준[node.js] > 9251번 LCS
  • 백준[node.js] > 16953번 A->B
  • 백준[node.js] > 15650번 제출
  • 백준[node.js] > 1966번 제출
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • 전체
    오늘
    어제
    • 🧩Dev (263)
      • ⭐FE (34)
      • 🔒Algorithm (155)
      • ➕Etc. (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    백준
    node.js
    Easy
    실버4
    실버3
    프론트엔드
    leetcode
    javascript
    js
    자스
    자바스크립트
    nodejs
    react
    Lv2
    코딩테스트
    그리디
    실버2
    BFS
    오블완
    알고리즘
    골드5
    DFS
    FE
    구현
    Algorithm
    코테
    프로그래머스
    실버1
    dp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
devWarrior
백준[node.js] > 9095번 1, 2, 3 더하기
상단으로

티스토리툴바