내 풀이
class Solution:
def tribonacci(self, n: int) -> int:
T = [0] * 38
T[0] = 0
T[1] = 1
T[2] = 1
if n>2:
for nn in range(3, n+1):
T[nn] = T[nn-3]+T[nn-2]+T[nn-1]
return T[n]
솔루션
class Solution:
def tribonacci(self, n: int) -> int:
arr = [0, 1, 1]
if n < 3:
return arr[n]
for num in range(3, n+1):
arr[0], arr[1], arr[2] = arr[1], arr[2], sum(arr)
return arr[2]
3차: 2025.01.02(목): 해결함
class Solution:
def tribonacci(self, n: int) -> int:
if n <= 1:
return n
if n== 2:
return 1
dp = [0] * (n+1)
dp[1] = 1
dp[2] = 1
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
return dp[n]
'LeetCode > DP심화' 카테고리의 다른 글
322. Coin Change (0) | 2024.12.29 |
---|---|
139. Word Break ★ (0) | 2024.12.29 |
746. Min Cost Climbing Stairs ★ (0) | 2024.11.23 |
72. Edit Distance (0) | 2024.11.08 |
714. Best Time to Buy and Sell Stock with Transaction Fee (2) | 2024.11.08 |