피로도

심규원·2024년 8월 27일

https://school.programmers.co.kr/learn/courses/30/lessons/87946?language=java

import static java.lang.Math.*;
class Solution {
    static int answer = 0;
    static boolean[] visit = new boolean[9];
    static void dfs(int cnt, int tired, int[][] dungeons){

        for(int i = 0; i < dungeons.length; i++){
            if(!visit[i] && tired >= dungeons[i][0]){
                    visit[i] = true;
                    dfs(cnt+ 1, tired - dungeons[i][1], dungeons);
                    visit[i] = false;

            }
        }

        answer = max(answer, cnt);
    }
    
    public int solution(int k, int[][] dungeons) {
        
        dfs(0, k, dungeons);
        
        return answer;
    }
}

완전탐색 문제.
주어지는 값이 적으니 완전탐색으로 풀만하다.
항상 visit 을 풀어줘야하는걸 까먹어서 참..

0개의 댓글