been_dev
been_archive
been_dev
전체 방문자
오늘
어제
  • 분류 전체보기 (34)
    • f-lab (3)
    • project (2)
    • solve (29)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스택
  • 코딩테스트
  • 큐
  • Eclipse
  • 완전탐색
  • 에프랩
  • 탐욕법
  • 에프랩 2개월 후기
  • 에프랩 1개월 후기
  • Downloading from external resources is disabled
  • 그리디
  • 숫자의표현
  • f-lab
  • 실행창 작음
  • 백준
  • MYSQL
  • f-lab 2개월 후기
  • 이진변환반복하기
  • specify location
  • 해시
  • Lombok
  • 자바 백엔드
  • f-lab 1개월 후기
  • 버튼미노출
  • jadencase만들기
  • JWT
  • 자바
  • 문자열
  • 프로그래머스
  • 후기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
been_dev

been_archive

solve

[프로그래머스] Lv2. 피로도 (자바)

2024. 1. 9. 21:50

DFS / 완전 탐색

import java.util.List;

class Solution {

    public int answer;
    public boolean[] isVisit;

    public int solution(int k, int[][] dungeons) {
        int count = 0; // 던전 방문 횟수
        isVisit = new boolean[dungeons.length];  // 던전 방문 여부

        // 모든 던전 탐험
        explore(count, k, dungeons);
        return answer;
    }

    public void explore(int count, int k, int[][] dungeons) {
        // 던전 수 만큼 반복(탈출 조건)
        for(int i=0; i < dungeons.length; i++) {
            //(수행 동작)
            // 방문하지 않았고 최소 소모량이 현재 피로도보다 낮거나 같으면 방문
            if(!isVisit[i] && dungeons[i][0] <= k) {
                isVisit[i] = true;
                // 다음 던전 탐험
                explore(count+1, k-dungeons[i][1], dungeons);
                isVisit[i] = false; // 다음 회차에 영향 받지 않도록 재귀 함수 안에서 방문했던 내역 초기화
            }
        }
        answer = Math.max(answer, count);
    }

}

'solve' 카테고리의 다른 글

[프로그래머스/완전탐색] Lv2. 소수 찾기 (자바)  (0) 2024.01.09
[프로그래머스] Lv2. 카펫 (자바)  (0) 2024.01.09
[백준 1018] 체스판 다시 칠하기 (자바)  (0) 2024.01.09
[백준 2606] 바이러스 (자바)  (1) 2024.01.09
[백준 2667/실버1] 단지 번호 붙이기 (자바)  (0) 2024.01.09
    'solve' 카테고리의 다른 글
    • [프로그래머스/완전탐색] Lv2. 소수 찾기 (자바)
    • [프로그래머스] Lv2. 카펫 (자바)
    • [백준 1018] 체스판 다시 칠하기 (자바)
    • [백준 2606] 바이러스 (자바)
    been_dev
    been_dev

    티스토리툴바