Skip to content

Commit fb675ee

Browse files
committed
Time: 0 ms (100%), Space: 40.9 MB (41.09%) - LeetHub
1 parent 06bfae3 commit fb675ee

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
198. 좀도둑
3+
4+
당신은 거리의 주택을 털 계획을 세우는 전문 강도입니다.
5+
각 집에는 일정 금액의 돈이 숨겨져 있으며,
6+
유일한 제약 조건은 각 집을 털지 못하도록 막는 유일한 제약은
7+
인접한 집에 보안 시스템이 연결되어 있다는 것입니다.
8+
보안 시스템이 연결되어 있고
9+
같은 날 밤에 인접한 두 집에 침입이 발생하면 자동으로 경찰에 연락한다는 것입니다.
10+
11+
각 집의 금액을 나타내는 정수 배열의 숫자가 주어졌을 때,
12+
경찰에 알리지 않고 오늘 밤에 털 수 있는 최대 금액을 반환합니다.
13+
14+
15+
예제 1:
16+
입력: nums = [1,2,3,1]
17+
Output: 4
18+
설명: 집 1 집 1을 털고 (돈 = 1), 집 3을 털고 (돈 = 3).
19+
강탈할 수 있는 총 금액 = 1 + 3 = 4입니다.
20+
21+
예제 2:
22+
입력: nums = [2,7,9,3,1]
23+
Output: 12
24+
설명: 집 1을 털고(돈 = 2), 집 3을 털고(돈 = 9), 집 5를 털고(돈 = 1).
25+
강탈할 수 있는 총 금액 = 2 + 9 + 1 = 12입니다.
26+
27+
28+
제약 조건:
29+
1 <= nums.length <= 100
30+
0 <= nums[i] <= 400
31+
*/
32+
33+
34+
class Solution {
35+
public int rob(int[] nums) {
36+
int len = nums.length;
37+
if (len == 0) return 0;
38+
int[] dp = new int[len + 1];
39+
40+
dp[1] = nums[0];
41+
42+
for (int i = 1; i < len; i++) {
43+
dp[i+1] = Math.max(dp[i], dp[i-1] + nums[i]);
44+
}
45+
46+
return dp[len];
47+
}
48+
}

0 commit comments

Comments
 (0)