본문 바로가기
Java/Programmers

[Lv.2]피로도

by GLOWWW 2023. 3. 3.

package PG.Lv_2;

import java.util.Arrays;

public class 피로도 {
    static int answer = 0;
    static boolean[] visited;
    public static int solution(int k, int[][] dungeons) {
        visited = new boolean[dungeons.length];
        dfs(k, dungeons, 0);
        return answer;
    }

    public static void dfs(int k, int[][] dungeons, int depth) {
        for (int i = 0; i < dungeons.length; i++) {
            if (!visited[i] && dungeons[i][0] <= k) {
                visited[i] = true;
                dfs(k - dungeons[i][1], dungeons, depth + 1);
                visited[i] = false;
            }
        }
        answer = Math.max(answer, depth);
    }

    public static void main(String[] args) {
        int k = 80;
        int[][] dungeons = {{80, 20}, {50, 40}, {30, 10}};
        int result = solution(k, dungeons);
        System.out.println(result);
    }
}

'Java > Programmers' 카테고리의 다른 글

[Lv.2]할인행사  (0) 2023.03.09
[Lv.2]N진수 게임  (0) 2023.03.03
[Lv.2]K진수에서 소수 개수 구하기  (0) 2023.02.26
[Lv.2]타겟 넘버  (0) 2023.02.23
[Lv.2]연속 부분 수열 합의 개수  (0) 2023.02.22

댓글