ALGORITHM/PROGRAMMERS

[프로그래머스] 위클리 챌린지 12주차 - 피로도

0298 2021. 10. 27. 22:41

https://programmers.co.kr/learn/courses/30/lessons/87946

 

코딩테스트 연습 - 12주차

XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던

programmers.co.kr

2021-10-27


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
    public static int answer;
    public static boolean[] vtd;
    public static void solve(int cnt, int[][] dungeons, int k) {
        for(int i = 0; i < vtd.length; i++) {
            if(!vtd[i] && k >= dungeons[i][0]) {
                vtd[i] = true;
                solve(cnt+1, dungeons, k - dungeons[i][1]);
                vtd[i] = false;
            }
        }
        answer = Math.max(answer, cnt);
    }
    public static int solution(int k, int[][] dungeons) {
        answer = 0;
        vtd = new boolean[dungeons.length];
 
        solve(0, dungeons, k);
 
        return answer;
    }
}
cs

#문제풀이

처음에 문제 그냥 봤을 때는 배열 정렬인가 했는데 그냥 dfs로 풀면된다.