From fb34d4acf4acf3ce0f37a12f33686396e7a2a74b Mon Sep 17 00:00:00 2001 From: BangDori Date: Mon, 16 Jun 2025 16:15:29 +0900 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EB=B3=91=EC=A4=80]=20House=20Robber?= =?UTF-8?q?=20II?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bangdori/213.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 bangdori/213.js diff --git a/bangdori/213.js b/bangdori/213.js new file mode 100644 index 0000000..4f4c614 --- /dev/null +++ b/bangdori/213.js @@ -0,0 +1,28 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var rob = function (nums) { + if (nums.length === 1) return nums[0]; + + return Math.max(robHelper(nums.slice(0, -1)), robHelper(nums.slice(1))); +}; + +function robHelper(money) { + const n = money.length; + + if (n <= 2) return Math.max(...money); + + const dp = Array(n).fill(0); + + dp[0] = money[0]; + dp[1] = money[1]; + dp[2] = money[2] + dp[0]; + + for (let i = 3; i < n; i++) { + dp[i] = Math.max(dp[i - 2], dp[i - 3]); + dp[i] += money[i]; + } + + return Math.max(dp[n - 1], dp[n - 2]); +}