Skip to content

Commit b4fd371

Browse files
committed
add house robber
1 parent 58bd49b commit b4fd371

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/**
2+
๋ฐฐ์—ด์€ ๊ฐ•๋„๊ฐ€ ํ„ธ ์ง‘์˜ ๋ˆ์„ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
3+
*
4+
* ์ธ์ ‘ํ•œ ๋‘ ์ง‘์„ ๋™์‹œ์— ํ„ธ๋ฉด ๊ฒฝ์ฐฐ์— ์•Œ๋ฆผ์ด ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
5+
*
6+
* ํ•˜๋ฃจ์— ํ›”์น  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋งŽ์€ ๋ˆ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
7+
*
8+
*
9+
* 2. naive ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋„์ถœ
10+
*
11+
* - ํ˜„์žฌ ์ง‘์„ ํ„ธ๊ธฐ โ†’ ๋ฐ”๋กœ ์ด์ „ ์ง‘์€ ๋ชป ํ„ธ์—ˆ์œผ๋ฏ€๋กœ prev2 + ํ˜„์žฌ์ง‘
12+
* - ํ˜„์žฌ ์ง‘์„ ์•ˆ ํ„ธ๊ธฐ โ†’ ์ด์ „๊นŒ์ง€์˜ ์ตœ๋Œ“๊ฐ’ ์œ ์ง€ prev1
13+
*/
14+
class sangyyypark {
15+
public static int rob(int[] nums) {
16+
if (nums == null || nums.length == 0) {
17+
return 0;
18+
}
19+
if (nums.length == 1) {
20+
return nums[0];
21+
}
22+
23+
24+
int prev2 = 0; // i-2๋ฒˆ์งธ ์ง‘๊นŒ์ง€์˜ ์ตœ๋Œ€ ๊ธˆ์•ก
25+
int prev1 = 0; // i-1๋ฒˆ์งธ ์ง‘๊นŒ์ง€์˜ ์ตœ๋Œ€ ๊ธˆ์•ก
26+
27+
for (int num : nums) {
28+
// ํ˜„์žฌ ์ง‘์„ ํ„ธ ๊ฒฝ์šฐ: prev2 + num
29+
// ํ˜„์žฌ ์ง‘์„ ์•ˆ ํ„ธ ๊ฒฝ์šฐ: prev1
30+
int current = Math.max(prev1, prev2 + num);
31+
32+
33+
prev2 = prev1;
34+
prev1 = current;
35+
}
36+
37+
return prev1;
38+
}
39+
}

0 commit comments

Comments
ย (0)