본문 바로가기
코딩테스트/프로그래머스

[완전탐색] 피로도 - JAVA

by 의정부핵꿀밤 2022. 7. 20.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/87946

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


완전탐색이라...

 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

댓글