Skip to content

Commit 6098300

Browse files
committed
house-robber-ii solution
1 parent 012f013 commit 6098300

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

house-robber-ii/yyyyyyyyyKim.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Solution:
2+
def rob(self, nums: List[int]) -> int:
3+
4+
# DP
5+
# 시간복잡도 O(n^2), 공간복잡도 O(n)
6+
7+
# 집이 1개~3개인 경우, 가장 큰 집만 털기
8+
if len(nums) <= 3:
9+
return max(nums)
10+
11+
# 첫 번째 집을 포함하지 않고 털기
12+
dp1 = [0]*len(nums)
13+
dp1[1] = nums[1]
14+
dp1[2] = nums[2]
15+
for i in range(2, len(nums)):
16+
dp1[i] = max(dp1[i-1], max(dp1[:i-1])+nums[i])
17+
18+
# 마지막 집을 포함하지 않고 털기
19+
dp2 = [0]*len(nums)
20+
dp2[0] = nums[0]
21+
dp2[1] = nums[1]
22+
for i in range(2, len(nums)-1):
23+
dp2[i] = max(dp2[i-1], max(dp2[:i-1])+nums[i])
24+
25+
return max(max(dp1), max(dp2))

0 commit comments

Comments
 (0)