[boj] 9095. 1, 2, 3 더하기 (node.js)

호이·2022년 2월 6일
0

algorithm

목록 보기
15/77
post-thumbnail

문제 요약

BOJ 9095 1, 2, 3 더하기

  • 입력: 테스트 케이스의 개수와 정수가 주어진다.
  • 출력: 1, 2, 3의 합으로 주어진 정수를 나타낼 수 있는 방법의 개수를 출력하라.

풀이

  • 동적 프로그래밍으로 주어진 문제에 대한 점화식을 세운다.
  • 초기값을 활용해 계산 결과를 저장한 후 테스트 케이스마다 결과를 출력한다.

내 풀이

const readline = require("readline");
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let cnt = 0;
const input = () => stdin[cnt++];

let stdin = [];
rl.on("line", function (line) {
  stdin.push(line);
}).on("close", function () {
  let T = input();
  let result = [];
  let arr = [];
  arr[1] = 1;
  arr[2] = 2;
  arr[3] = 4;
  for (let i = 4; i <= 11; i++) arr[i] = arr[i - 1] + arr[i - 2] + arr[i - 3];
  while (T--) result.push(arr[input()]);
  console.log(result.join("\n"));
  process.exit();
});
  • 주어진 수를 나타내는 방법을 +1, +2, +3하는 경우로 분류하였다.
profile
매일 부활하는 개복치

0개의 댓글