zzunsik
2021. 10. 25. 18:22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import java.util.*;
class Solution {
static int count = 0;
public static void dfs(ArrayList<int[]> allList, ArrayList<int[]> res, int k){
if(res.size() > count) {
count = res.size();
}
for(int i=0;i<allList.size();i++){
int[] dungeon = allList.get(i);
if(dungeon[0] <= k){
res.add(allList.remove(i));
dfs(allList, res, k - dungeon[1]);
allList.add(i, res.remove(res.size()-1));
}
}
}
public int solution(int k, int[][] dungeons) {
int answer = -1;
ArrayList<int[]> allList = new ArrayList<int[]>();
for(int i=0;i<dungeons.length;i++){
allList.add(dungeons[i]);
}
dfs(allList, new ArrayList<int[]>(), k);
answer = count;
return answer;
}
}
|
cs |
다음엔 ArrayList 말고 boolean으로 해결해봐야겠다.