Skip to content

Commit ade5a51

Browse files
committed
house-robber solved
1 parent abc6485 commit ade5a51

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

โ€Žhouse-robber/kut7728.swift

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
func rob(_ nums: [Int]) -> Int {
3+
let n = nums.count
4+
if n == 0 { return 0 }
5+
if n == 1 { return nums[0] }
6+
if n == 2 { return max(nums[0], nums[1]) }
7+
8+
//dp[i]๋Š” i๋ฒˆ๊นŒ์ง€ ๊ณ ๋ คํ–ˆ์„ ๋•Œ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ ๊ธˆ์•ก
9+
var dp = [Int](repeating: 0, count: n)
10+
dp[0] = nums[0]
11+
dp[1] = max(nums[0], nums[1]) //์ฒซ์งธ or ๋‘˜์งธ ์ง‘ ์ค‘ ๋” ๋น„์‹ผ ์ง‘ ํ„ธ๊ธฐ
12+
13+
//๊ฐ dp์˜ ์ž๋ฆฌ์—๋Š” ๋ฐ”๋กœ ์ „ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜(i๋ฅผ ์•ˆํ„ธ๊ธฐ), ์ „์ „์ง‘๊นŒ์ง€ ํ„ด๊ฑฐ+iํ„ด ๊ฐ’ ์ค‘์—์„œ ๋น„์‹ผ์ชฝ ์ €์žฅ
14+
for i in 2..<n {
15+
dp[i] = max(dp[i-1], dp[i-2] + nums[i])
16+
}
17+
18+
//๋งˆ์ง€๋ง‰ ์ง‘๊นŒ์ง€ ๊ณ ๋ คํ•œ ์ตœ๋Œ€ ์ด์ต ๋ฐ˜ํ™˜ํ•˜๊ธฐ
19+
return dp[n - 1]
20+
}
21+
}

0 commit comments

Comments
ย (0)