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];
}
๋ฐ์ํ
๋๊ธ