Climbing Stairs
ํ๋ฆฐ ์ด์ 1. base case(boundary case) ๋ฅผ ์๋ชป ์ธ์ ๋ค. - dp[1] = 1, dp[2] = 2 (X) dp[0] = 1, dp[1] = 1(O) 2. ์ ํ์์ ์๋ชป ์ธ์ ๋ค. - dp[n] = dp[n-1] * 2 - 1 (X) dp[n] = dp[n-1] + dp[n-2] (O)
์๋ฃ ๊ตฌ์กฐ(Data Structure) Memoization์ ์ํ 1์ฐจ์ ๋ฐฐ์ด
์๊ณ ๋ฆฌ์ฆ 1. base๊ฐ ๋๋ sub-problem์ ํด๋ฅผ ๊ตฌํ๋ค. - dp[0], dp[1] 2. 1์ sub-problem์ ํด๋ฅผ ํตํด ์ต์ข ํด๋ฅผ ๊ตฌํ๋ค. ๋ฌธ์ ์์ ์ฃผ์ด์ง ๊ฒ์ฒ๋ผ, ํ๋ฒ์ 1 ๋๋ 2 step์ฉ ์ฌ๋ผ๊ฐ ์ ์๋ค. n๊ฐ์ ๊ณ๋จ์ธ ๊ฒฝ์ฐ, 1๊ฐ์ ๊ณ๋จ์ ์ฌ๋ผ๊ฐ๋ ๊ฒฝ์ฐ ๋๋ 2๊ฐ์ ๊ณ๋จ์ ์ฌ๋ผ๊ฐ๋ ๊ฒฝ์ฐ = stairs(n) = stairs(n-1) + stairs(n-2)
์๊ณ ๋ฆฌ์ฆ์ Java๋ก ๊ตฌํ
Last updated