[백준9461_자바스크립트(javascript)] - 파도반 수열

경이·2024년 7월 23일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
94/325

🔴 문제

파도반 수열


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
const [_, ...P] = fs.readFileSync(path).toString().trim().split('\n');
const dp = new Array(101).fill(1);
dp[4] = 2;
dp[5] = 2;

for (let i = 6; i <= 100; i++) {
  dp[i] = dp[i - 1] + dp[i - 5];
}

for (const n of P) {
  console.log(dp[Number(n)]);
}

🟢 풀이

⏰ 소요한 시간 : 10분

예제에서 주어진 수열 1 1 1 2 2 3 4 5 7 9 12을 가만히 들여다 보면 아래와 같은 규칙을 찾을 수 있다.

P(N) = P(N-1) + P(N-5)

위 공식을 식으로 옮겨줬다. 문제 풀기전에는 무조건 dp다 라고 생각했는데, 다 풀고 제출하고나니 수학인 것 같기도 하다.
사실 dp가 수학임


🔵 Ref

profile
록타르오가르

0개의 댓글