์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- SwiftUI
- ๋ถํ ํ์
- ๋นํธ์ฐ์ฐ์
- ์๊ณ ๋ฆฌ์ฆ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- Swift
- WebApp
- ์คํ
- ๋ฐฑํธ๋ํน
- ์ฝํ
- dfs
- ์ด์งํ์
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ios
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ธ๋ฃจํธํฌ์ค
- BFS
- ๋ฐฑ์ค
- ์์
- ๋ถํ ์ ๋ณต
- ๋ฌธ์์ด
- dp
- ์ฝ๋ฉํ ์คํธ
- WebView
- ๋ถํ ์ ๋ณต
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋์ ํฉ
- Queue
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋ ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋์ ํ์ด
func solution(_ k:Int, _ dungeons:[[Int]]) -> Int {
var used = Array(repeating: false, count: dungeons.count)
var result = 0
func backtrack(arr: [Int]) {
if arr.count == dungeons.count {
print(arr)
var num = k
var count = 0
for i in arr {
if num >= dungeons[i][0] {
num -= dungeons[i][1]
count += 1
} else { break }
}
if count > result { result = count }
return
}
for i in 0..<dungeons.count {
if !used[i] {
used[i] = true
backtrack(arr: arr+[i])
used[i] = false
}
}
}
backtrack(arr: [])
return result
}
ํ์ด ํค์๋
Backtracking(๋ฐฑํธ๋ํน)
๋ฐฑํธ๋ํน ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด ๋ง๋ค ์ ์๋ ์ธ๋ฑ์ค์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์์ ํ์์ผ๋ก ๊ตฌํ์ต๋๋ค.
๋ฐฑํธ๋ํน์ ์ฌ์ฉํด ๊ตฌํ ๋ชจ๋ ์์์ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ฌ ํผ๋ก๋์ ๋์ ํด
์ ์ผ ๋ง์ด ๋์ ์ ๋ ํ์๋ฅผ ๋ฐํํ์ต๋๋ค.
์ ๋ต์ ๊ตฌํ ์ ์์์ง๋ง ๋ฐฑํธ๋ํน์ ํน์ฑ์ ์๊ฐ๋ณต์ก๋๊ฐ ํฌ๊ธฐ ๋๋ฌธ์
๋ ์ข์ ์๊ณ ๋ฆฌ์ฆ์ ์ฐพ์ ๊ณต๋ถํด ๋ด์ผ ํ ๊ฑฐ ๊ฐ์ต๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ (0) | 2023.03.29 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ์์ถ (0) | 2023.03.28 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํธ์ํฌ (0) | 2023.03.24 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2023.03.23 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [1์ฐจ] ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2023.03.22 |