File tree 1 file changed +48
-0
lines changed
1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments