[Algorithm - Programmers] 피로도

nunu·2023년 12월 17일
0

Algorithm

목록 보기
126/142

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

제출 코드

class Solution {
    int answer = 0;
    public int solution(int k, int[][] dungeons) {
        for (int i = 1; i <= dungeons.length; i++) {
            dfs(0, i, k, new boolean[dungeons.length], dungeons);
        }
        return answer;
    }
    void dfs(int depth, int k, int hp, boolean[] used, int[][] dungeons) {
        if (depth == k) {
            answer = Math.max(k, answer);
            return;
        }
        for (int i = 0; i < dungeons.length; i++) {
            if (!used[i] && hp >= dungeons[i][0]) {
                used[i] = true;
                dfs(depth + 1, k, hp - dungeons[i][1], used, dungeons);
                used[i] = false;
            }
        }
    }
}
profile
Hello, I'm nunu

0개의 댓글