[Programmers Lv.2] 피로도
🔗 Link
📝 Problem Summary
💡 Idea
핵심 관찰
풀이 과정
⏱ Complexity
- 시간 복잡도:
O() - 공간 복잡도:
O()
🔑 Code
import java.util.*;
class Solution {
public int func(int cur_k, int cur_trial, int[][] dungeons, boolean[] vis){
int max_cnt = cur_trial;
for(int i = 0; i < dungeons.length; i++){
if(cur_k < dungeons[i][0] || vis[i]) continue;
vis[i] = true;
max_cnt = Math.max(max_cnt,func(cur_k-dungeons[i][1], cur_trial+1, dungeons, vis));
vis[i] = false;
}
return max_cnt;
}
public int solution(int k, int[][] dungeons) {
return func(k, 0, dungeons, new boolean[dungeons.length]);
}
}
🗨️ Side Notes
- 막힌 부분:
- 새로 배운 점:
- 다시 풀 때 주의할 점: