알고리즘 문제풀이/Leetcode
198. House Robber
benlee73
2021. 8. 16. 09:43
https://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
Solution
class Solution:
def rob(self, nums):
if len(nums) < 2:
return nums[0]
dp = []
dp.append(nums[0])
dp.append(max(nums[0], nums[1]))
for i in range(2, len(nums)):
dp.append(max(dp[i-2]+nums[i], dp[i-1]))
return dp[-1]
- 기본적인 dp 문제이다.
- 인접한 2개의 집을 선택하지 말아야 하므로 dp[i] = max(d[i-2]+nums[i], dp[i-1]) 를 사용할 수 있다.