Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 10] 02 - ๋Œ๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ

_์„ฑํ˜ธ_ 2022. 12. 19. 16:51
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ 02 - ๋Œ๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ(DP)

์ฒ ์ˆ˜๋Š” ํ•™๊ต์— ๊ฐ€๋Š”๋ฐ ๊ฐœ์šธ์„ ๋งŒ๋‚ฌ๋‹ค. ๊ฐœ์šธ์€ N๊ฐœ์˜ ๋Œ๋กœ ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋†“์•˜๋‹ค. ์ฒ ์ˆ˜๋Š” ๋Œ ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ ๋•Œ ํ•œ ๋ฒˆ์— ํ•œ ์นธ ๋˜๋Š” ๋‘ ์นธ์”ฉ ๊ฑด๋„ˆ๋›ฐ๋ฉด์„œ ๋Œ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ ์ˆ˜ ์žˆ๋‹ค. ์ฒ ์ˆ˜๊ฐ€ ๊ฐœ์šธ์„ ๊ฑด๋„ˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋ช‡๊ฐ€์ง€์ผ๊นŒ?

 

๐Ÿ“ ์†Œ์Šค ์ฝ”๋“œ

์ฐธ๊ณ ) ๊ณ„๋‹จ์˜ค๋ฅด๊ธฐ

function solution(n) {
  let answer = 0;
  let dy = Array.from({ length: n + 2 }, () => 0);

  dy[1] = 1;
  dy[2] = 2;
  for (let i = 3; i <= n + 1; i++) {
    dy[i] = dy[i - 2] + dy[i - 1];
  }

  answer = dy[n + 1];
  return answer;
}

console.log(solution(7));