๐ ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๋งํฌ
โ๐ป ๋ฌธ์ ํ์ด Github ๋งํฌ
๋ฌธ์ ์ค๋ช
XX๊ฒ์์๋ ํผ๋ก๋ ์์คํ (0 ์ด์์ ์ ์๋ก ํํํฉ๋๋ค)์ด ์์ผ๋ฉฐ, ์ผ์ ํผ๋ก๋๋ฅผ ์ฌ์ฉํด์ ๋์ ์ ํํํ ์ ์์ต๋๋ค. ์ด๋, ๊ฐ ๋์ ๋ง๋ค ํํ์ ์์ํ๊ธฐ ์ํด ํ์ํ "์ต์ ํ์ ํผ๋ก๋"์ ๋์ ํํ์ ๋ง์ณค์ ๋ ์๋ชจ๋๋ "์๋ชจ ํผ๋ก๋"๊ฐ ์์ต๋๋ค. "์ต์ ํ์ ํผ๋ก๋"๋ ํด๋น ๋์ ์ ํํํ๊ธฐ ์ํด ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ ์ต์ํ์ ํผ๋ก๋๋ฅผ ๋ํ๋ด๋ฉฐ, "์๋ชจ ํผ๋ก๋"๋ ๋์ ์ ํํํ ํ ์๋ชจ๋๋ ํผ๋ก๋๋ฅผ ๋ํ๋ ๋๋ค. ์๋ฅผ ๋ค์ด "์ต์ ํ์ ํผ๋ก๋"๊ฐ 80, "์๋ชจ ํผ๋ก๋"๊ฐ 20์ธ ๋์ ์ ํํํ๊ธฐ ์ํด์๋ ์ ์ ์ ํ์ฌ ๋จ์ ํผ๋ก๋๋ 80 ์ด์ ์ด์ด์ผ ํ๋ฉฐ, ๋์ ์ ํํํ ํ์๋ ํผ๋ก๋ 20์ด ์๋ชจ๋ฉ๋๋ค.
์ด ๊ฒ์์๋ ํ๋ฃจ์ ํ ๋ฒ์ฉ ํํํ ์ ์๋ ๋์ ์ด ์ฌ๋ฌ๊ฐ ์๋๋ฐ, ํ ์ ์ ๊ฐ ์ค๋ ์ด ๋์ ๋ค์ ์ต๋ํ ๋ง์ด ํํํ๋ ค ํฉ๋๋ค. ์ ์ ์ ํ์ฌ ํผ๋ก๋ k์ ๊ฐ ๋์ ๋ณ "์ต์ ํ์ ํผ๋ก๋", "์๋ชจ ํผ๋ก๋"๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด dungeons ๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ ์ ๊ฐ ํํํ ์ ์๋ ์ต๋ ๋์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- k๋ 1 ์ด์ 5,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- dungeons์ ์ธ๋ก(ํ) ๊ธธ์ด(์ฆ, ๋์ ์ ๊ฐ์)๋ 1 ์ด์ 8 ์ดํ์
๋๋ค.
- dungeons์ ๊ฐ๋ก(์ด) ๊ธธ์ด๋ 2 ์ ๋๋ค.
- dungeons์ ๊ฐ ํ์ ๊ฐ ๋์ ์ ["์ต์ ํ์ ํผ๋ก๋", "์๋ชจ ํผ๋ก๋"] ์ ๋๋ค.
- "์ต์ ํ์ ํผ๋ก๋"๋ ํญ์ "์๋ชจ ํผ๋ก๋"๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ต๋๋ค.
- "์ต์ ํ์ ํผ๋ก๋"์ "์๋ชจ ํผ๋ก๋"๋ 1 ์ด์ 1,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- ์๋ก ๋ค๋ฅธ ๋์ ์ ["์ต์ ํ์ ํผ๋ก๋", "์๋ชจ ํผ๋ก๋"]๊ฐ ์๋ก ๊ฐ์ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
k | dungeons | result |
80 | [[80,20],[50,40],[30,10]] | 3 |
๋ฌธ์ ํ์ด
๋์ ํ์ด
์ดํ๋์ ๋จธ๋ฆฌ๋ฅผ ์ธ๋งธ๋๋ฐ ๋ชปํ์์ต๋๋ค!
์์ด๋ก ํด๋น ๋ฐฐ์ด์ ํ์ํด์ผํ๋ ๊ฒ๋, ์ฌ๊ทํจ์๋ก ํ์ด์ผํ๋ค๋ ๊ฒ๋ ์์๋๋ฐ, ๋ก์ง๊ตฌํ์ด ์ ์์ผ๋ก ๋์ง ์์์ด์..!
๊ทธ๋์ ํ์ฐธ์ ๊ณ ๋ฏผํ๋ค ๋ต์ ๋ณด๊ธฐ๋ก ํ์ต๋๋ค!
๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์์ผ๋ก ๋ค ๊ทธ๋ ค๋ณธ ํ์์ผ ์ดํด๊ฐ ๋์์ด์!
๋ด์ผ ์์นจ์ ์ผ์ด๋์๋ง์ ์ด ๋ฌธ์ ๋ฅผ ํ์ด์ผ ๊ฒ ๋ค๋ ์๊ฐ์ ํ์ต๋๋ค!
๋ค๋ฅธ ์ฌ๋ ํ์ด
import Foundation
func solution(_ k:Int, _ dungeons:[[Int]]) -> Int {
var answer = 0
var check = [Bool](repeating: false, count: dungeons.count)
func dfs(now: Int, depth: Int) {
answer = max(depth, answer)
for i in 0..<dungeons.count {
if !check[i] && now >= dungeons[i][0]{
check[i] = true
dfs(now: now - dungeons[i][1], depth: depth+1 )
check[i] = false
}
}
}
dfs(now: k, depth: 0)
return answer
}
check๋ ํด๋น ์ธ๋ฑ์ค๊ฐ ์ํ๋ฅผ ๋์๋์ง๋ฅผ ํ์ ํ๋ ๋ฐฐ์ด์ ๋๋ค.
answer์ ๊ฐ์ฅ ๊น๊ฒ ๊น์ง ํ์ํ ๊ฒฝ์ฐ๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๋ต๊ณผ ๊ฐ์ต๋๋ค.
์ฌ๊ทํจ์๋ฅผ ํตํด์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ํ ์ ์๋๋ก ์์ ํ์์ผ๋ก ๋ค์ด๊ฐ์ต๋๋ค.