728x90
https://school.programmers.co.kr/learn/courses/30/lessons/87946
완전탐색이라...
for문을 고민하다가 dfs로 풀릴 것 같아서 dfs로 풀었다
물론! 다른 분 코드를 참고해부렀다...ㅋㅋㅋ
반복문을 어떻게 돌리고 어떻게 선언할 지를 고민하다가 참고했는데 아래처럼 했다!
요런 방식 몇 번 풀어봤는데 아직도 타닥타닥 쳐지지가 않네ㅠ
더 열심히하자 의꿀밤!
자바 코드)
class Solution {
static boolean[] visited;
static int answer=0;
public int solution(int k, int[][] dungeons) {
visited = new boolean[dungeons.length];
dfs(dungeons, k, 0);
return answer;
}
public static void dfs(int[][] dungenos, int k, int depth) {
for(int i=0;i<dungenos.length;i++) {
if(!visited[i] && k >= dungenos[i][0]) {
visited[i]=true;
dfs(dungenos, k-dungenos[i][1], depth+1);
visited[i]=false;
}
}
answer = Math.max(answer, depth);
}
}
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
합승 택시 요금 - JAVA (0) | 2022.08.01 |
---|---|
소수 만들기 - JAVA (0) | 2022.07.23 |
[DFS/BFS] 단어 변환 - JAVA (0) | 2022.07.19 |
[이분탐색] 입국심사 - JAVA (0) | 2022.07.17 |
[DP] 등굣길 - JAVA (0) | 2022.07.16 |
댓글