dfs로 완전 탐색하면서 모든 경우의 수 찾기
class Solution {
boolean[] visited;
int result = 0;
public int solution(int k, int[][] dungeons) {
visited = new boolean[dungeons.length];
dfs(k, dungeons, 0);
return result;
}
private void dfs(int k, int[][] dungeons, int 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, count + 1);
visited[i] = false;
}
}
result = Math.max(result, count);
}
}