728x90
[Swift] 프로그래머스 피로도(lv. 2)
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/87946
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 접근
3. 코드
import Foundation
func solution(_ k:Int, _ dungeons:[[Int]]) -> Int {
var answer: Int = 0
explore(dungeons, &answer, k, 0)
return answer
}
func explore(_ dungeons:[[Int]], _ answer: inout Int, _ k:Int, _ count:Int) {
answer = max(answer, count)
for (i, dungeon) in dungeons.enumerated() {
var newDungeons: [[Int]] = dungeons
if dungeon[0] <= k && dungeon[1] <= k {
let newK = k - dungeon[1]
newDungeons.remove(at: i)
explore(newDungeons, &answer, newK, count + 1)
}
}
}
728x90
'Problem Solving' 카테고리의 다른 글
[Swift] BOJ 2504 괄호의 값 풀이 정리 (1) | 2024.09.14 |
---|---|
[Swift] 프로그래머스 n^2 배열 자르기(lv. 2) (0) | 2023.04.10 |
[Swift] 프로그래머스 [3차] n진수 게임(lv. 2) (0) | 2023.04.07 |
[Swift] 프로그래머스 오픈채팅방(lv. 2) (0) | 2023.04.06 |
[Swift] 프로그래머스 [3차] 압축(lv. 2) (0) | 2023.04.04 |
댓글