[LeetCode] 198. house robber (dp, python)

728x90
반응형

연속된 집은 털 수 없다.

바로 이전 집의 dp값이나 두 번째 전 집에서 현재 집을 턴 합 중 더 큰 값이 현재 위치의 집에서 가장 큰 값이 된다

from collections import defaultdict
class Solution:
    def rob(self, nums: List[int]) -> int:
        if not nums: return 0
        if len(nums)<=2: return max(nums)
        money=defaultdict(int)
        money[0]=nums[0]
        money[1]=max(nums[:2])
        for i in range(2,len(nums)):
            money[i]=max(money[i-1],money[i-2]+nums[i])
        return max(money.values())
        
728x90
반응형
TAGS.

Comments