Problem Solving/리트코드
[리트코드 leetcode] 198. House Robber
ggyongi
2021. 4. 12. 19:13
leetcode.com/problems/house-robber/
House Robber - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
책의 도움을 약간 받아 완성하였다..
class Solution:
def rob(self, nums: List[int]) -> int:
if len(nums)<=2:
return max(nums)
dp = {}
dp[0] = nums[0]
dp[1] = max(nums[0],nums[1])
for i in range(2, len(nums)):
dp[i] = max(dp[i-1], dp[i-2]+nums[i])
return dp[len(nums)-1]
한달 후 혼자 다시 푼 코드
class Solution:
def rob(self, nums: List[int]) -> int:
if len(nums)<3:
return max(nums)
x = nums[0]
y = max(nums[0],nums[1])
for i in range(2, len(nums)):
x, y = y, max(x+nums[i],y)
return y