▸ 피로도
출처: 프로그래머스 코딩테스트 연습 > 완전탐색 > 피로도
class Solution {
public int max;
public int solution(int k, int[][] dungeons) {
boolean[] visited = new boolean[dungeons.length];
dfs(k, dungeons, visited);
return max;
}
public void dfs(int k, int[][] dungeons, boolean[] visited) {
int count = 0;
for(int i = 0; i<visited.length; i++) {
if(visited[i]) {
count++;
}
}
if(count > max) {
max = count;
}
for(int i = 0; i<dungeons.length; i++) {
if(!visited[i] && dungeons[i][0] <= k) {
visited[i] = true;
dfs(k-dungeons[i][1], dungeons, visited);
visited[i] = false;
}
}
}
}