Skip to content

Commit 36449d2

Browse files
committed
Solve : longest-consecutive-sequence, house-robber
1 parent 0f90967 commit 36449d2

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

โ€Žhouse-robber/hj4645.ktโ€Ž

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution {
2+
// ๋ฐฐ์—ด์—์„œ ์ธ์ ‘ํ•œ ํ•ญ์€ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์„ ๋•Œ, ์ธ์ ‘ํ•˜์ง€ ์•Š์€ ํ•ญ์„ ๋”ํ•ด ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ
3+
// 1. DP๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ ์ง‘๋งˆ๋‹ค ์„ ํƒํ•˜๊ฑฐ๋‚˜ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ˆ„์  ๊ณ„์‚ฐ
4+
// 2. ํ˜„์žฌ ์ง‘์„ ํ„ธ ๋•Œ, ์ด์ „ ์ง‘์„ ํ„ธ์ง€ ์•Š์€ ๊ฒฝ์šฐ๋งŒ ๋”ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๊ณ„์‚ฐ
5+
fun rob(nums: IntArray): Int {
6+
if (nums.isEmpty()) return 0
7+
var prev1 = 0 // ๋ฐ”๋กœ ์ด์ „ ์ง‘๊นŒ์ง€์˜ ์ตœ๋Œ€ ์ด์ต
8+
var prev2 = 0 // ์ด์ „ ์ด์ „ ์ง‘๊นŒ์ง€์˜ ์ตœ๋Œ€ ์ด์ต
9+
10+
for (num in nums) {
11+
var temp = prev1
12+
prev1 = maxOf(prev2 + num, prev1)
13+
prev2 = temp
14+
}
15+
16+
return prev1
17+
}
18+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Solution {
2+
// ๋ฐฐ์—ด์—์„œ ์—ฐ์†๋œ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ
3+
// 1. ์ค‘๋ณต์€ ์ œ๊ฑฐํ•˜๊ณ  ์นด์šดํŠธ
4+
// 2. ์ •๋ ฌํ•˜์ง€ ์•Š๊ณ  ๊ณ„์‚ฐ๋„ ๊ฐ€๋Šฅ
5+
fun longestConsecutive(nums: IntArray): Int {
6+
if(nums.isEmpty()) return 0
7+
8+
val numSet = nums.toHashSet()
9+
var maxLen = 0
10+
11+
for(num in nums){
12+
if((num - 1) !in numSet){
13+
var currNum = num
14+
var currLen = 1
15+
16+
while((currNum + 1) in numSet){
17+
currNum++
18+
currLen++
19+
}
20+
if(currLen > maxLen) maxLen = currLen
21+
}
22+
}
23+
return maxLen
24+
}
25+
}

0 commit comments

Comments
ย (0)