LeetCode/DP심화

1137. N-th Tribonacci Number

hyunkookim 2024. 11. 22. 18:03

1137. N-th Tribonacci Number

 

내 풀이

 

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