Skip to content

Commit 5d2718a

Browse files
committed
198. House Robber
1 parent d9a5988 commit 5d2718a

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

β€Žhouse-robber/y00eunji.jsβ€Ž

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var rob = function(nums) {
6+
const len = nums.length;
7+
if (len === 0) return 0;
8+
if (len === 1) return nums[0];
9+
if (len === 2) return Math.max(nums[0], nums[1]);
10+
11+
const dp = Array(len).fill(0);
12+
dp[0] = nums[0];
13+
dp[1] = Math.max(nums[0], nums[1]);
14+
15+
// ν˜„μž¬ 집을 ν„°λŠ” κ²½μš°μ™€ μ•ˆ ν„°λŠ” 경우 쀑 μ΅œλŒ€κ°’ 선택
16+
// 1. 이전 μ§‘κΉŒμ§€μ˜ μ΅œλŒ€ κΈˆμ•‘ (ν˜„μž¬ μ§‘ μŠ€ν‚΅)
17+
// 2. μ „μ „ μ§‘κΉŒμ§€μ˜ μ΅œλŒ€ κΈˆμ•‘ + ν˜„μž¬ μ§‘ κΈˆμ•‘ (ν˜„μž¬ μ§‘ 선택)
18+
for (let i = 2; i < len; i++) {
19+
dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);
20+
}
21+
22+
return dp[len - 1];
23+
};
24+
25+
console.log(rob([1,2,3,1])); // 4
26+
console.log(rob([2,7,9,3,1])); // 12

0 commit comments

Comments
Β (0)