๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ] section10 - 2 - ๋Œ๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ

by YWTechIT 2021. 10. 13.
728x90

๐Ÿ“ section10 - 2 - ๋Œ๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ

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

 

์ด์ „์— ํ’€์—ˆ๋˜ ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๋ฌธ์ œ์™€ ๋งค์šฐ ํก์‚ฌํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์ž˜ ์ƒ๊ฐํ•ด๋ณด๋ฉด, dp[n]์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ dp[n+1]์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ฐœ์šธ์„ ๊ฑด๋„ˆ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋งˆ์ง€๋ง‰ ๋Œ์— ์„œ์žˆ์œผ๋ฉด ์•ˆ๋˜๊ณ (dp[n]), ๋งˆ์ง€๋ง‰ ๋Œ์—์„œ ํ•œ ์นธ ์•ž์œผ๋กœ ์ „์ง„ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ(dp[n+1])์ด๋‹ค.

 

728x90

 

let n = 7;

console.log(solution(n));

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

  dp[1] = 1;
  dp[2] = 2;

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

  return dp[n+1];
}

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€