(Java) 프로그래머스 피로도

2022. 5. 2. 02:21·코딩 테스트

문제를 읽자마자 완전탐색으로 구현해야 한다고 생각했다.

정렬을 해봐야 의미가 없고 던전의 개수도 8개 밖에 되지않아

완전탐색으로 충분히 해결할수 있을것 같다는 생각이 들었다.

Dfs를 이용해서 어렵지 않게 풀었다.


최종코드

    public int solution(int k, int[][] dungeons) {
    	// DFS를 위한 전역변수 설정
    	public static boolean[] visit;
    	public static int answer = 0;
        
        // 던전 개수만큼 visit 설정
        visit = new boolean[dungeons.length];
        // 최댓값을 위한 cnt
        int cnt = 0;
        DFS(k, dungeons, cnt);

        return answer;

    public static void DFS(int k, int[][] dungeons, int cnt) {
        for (int i = 0; i < dungeons.length; i++) {
            // visit[i]를 방문하지 않았고 피로도 조건이 맞으면
            if(!visit[i] && dungeons[i][0] <= k) {
                visit[i] = true;
                // 소모 피로도를 설정하고 재귀
                DFS(k - dungeons[i][1], dungeons, cnt+1);
                visit[i] = false;
            }
        }
        answer = Math.max(cnt, answer);
    }
}

'코딩 테스트' 카테고리의 다른 글

(Java) 백준 1463 - 1로 만들기  (0) 2022.05.07
(Java) 프로그래머스 신고 결과 받기  (0) 2022.05.06
(Java) 프로그래머스 뉴스 클러스터링  (0) 2022.04.30
(Java) 프로그래머스 캐시  (0) 2022.04.28
(Java) 프로그래머스 괄호 변환  (0) 2022.03.06
'코딩 테스트' 카테고리의 다른 글
  • (Java) 백준 1463 - 1로 만들기
  • (Java) 프로그래머스 신고 결과 받기
  • (Java) 프로그래머스 뉴스 클러스터링
  • (Java) 프로그래머스 캐시
로승리
로승리
  • 로승리
    Roy's Blog
    로승리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Issuefy
      • Language
      • Spring
      • Database
      • Network
      • Kubernetes
      • AWS
      • 코드스쿼드
      • 코딩 테스트
      • 생각정리
      • 국비지원
      • 회고
      • 컨퍼런스, 세미나
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
로승리
(Java) 프로그래머스 피로도
상단으로

티스토리툴바