[LeetCode] 509. Fibonacci Number (Python)
- ๋ฌธ์ ์ ์ ๋ต์ด ๊ฑฐ์ ๋์ ์์ด์ ์ด์ง์ธ ๋ฏ
Solution
import collections
class Solution:
dp = collections.defaultdict(int)
def fib(self, n: int) -> int:
# ํผ๋ณด๋์น ์ ์: n >= 2
if n <= 1:
return n
# dp[n]์ด ์กด์ฌํ ๋๋ ๊ทธ๋ฅ ๋ฆฌํด
if self.dp[n]:
return self.dp[n]
# dp[n]์ด ์กด์ฌํ์ง ์๋ ๊ฐ์ด๋ผ๋ฉด
# ๊ณ์ฐํ ๊ฐ์ dp[n]์ ์ ์ฅํด๋
self.dp[n] = self.fib(n - 1) + self.fib(n - 2)
# ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ก ๋ฆฌํด
return self.dp[n]
Leave a comment