프로그래머스(C++) - 피로도

2025. 8. 29. 15:25·C++ 프로그래머스/Exhaustive search

●문제

 

●입출력

 

사용 알고리즘 : DFS, 백트래킹, 완전탐색

문제풀이 : dungeons에는 첫번째로 최소 필요 피로도, 두번째로 소모 피로도가 주어짐

k가 내가 가진 피로도, k현재피로도에서 최소 필요 피로도가 충족되면 던전을 사용가능

던전 사용뒤에는 소모 피로도를 깎음

 

푼방법 : DFS를 사용하여 재귀함수로 k - dungeons[i][1] 만큼 뺀뒤 클리어를 +1

백트래킹을 사용하여 방문여부를 관리

#include <string>
#include <vector>
#include <algorithm>

using namespace std;
int dfs(int k, vector<vector<int>> dungeons, vector<bool>visited, int clear)
{
    int result = clear;
    for (int i = 0; i < dungeons.size(); i++)
    {
        //이미 방문했거나 최소 피로도보다 작으면 스킵
        if (visited[i] || dungeons[i][0] > k) continue;
        //방문여부 체크
        visited[i] = true;

        //사용 피로도 감소후 다음 던전 체크 단 최대값 갱신
        result = max(dfs(k - dungeons[i][1], dungeons, visited, clear + 1), result);

        //백트래킹
        visited[i] = false;
    }
    return result;
}
int solution(int k, vector<vector<int>> dungeons) 
{
    vector<bool>visited(dungeons.size(), false);
    return dfs(k, dungeons, visited, 0);
}

 

 레벨 : 2

점수 : 1

'C++ 프로그래머스 > Exhaustive search' 카테고리의 다른 글

프로그래머스(C++) - 최소 직사각형  (0) 2025.08.29
프로그래머스(C++) - 카펫  (0) 2025.08.29
프로그래머스(C++) - 소수 찾기  (0) 2025.08.26
Algorithm - Exhaustive search (완전탐색)  (0) 2025.08.26
'C++ 프로그래머스/Exhaustive search' 카테고리의 다른 글
  • 프로그래머스(C++) - 최소 직사각형
  • 프로그래머스(C++) - 카펫
  • 프로그래머스(C++) - 소수 찾기
  • Algorithm - Exhaustive search (완전탐색)
lucodev
lucodev
언리얼 포폴개발 일기
  • lucodev
    루코 개발테이블
    lucodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (212) N
      • Unreal 프로젝트 다이어리 (109) N
        • 첫번째 프로젝트 (73)
        • 두번째 프로젝트 (36) N
      • Unreal 팁 (8)
      • Unreal 디버깅 (8)
      • C++ 프로그래머스 (52)
        • Stack,Queue (7)
        • Hash (4)
        • Heap (2)
        • Sort (5)
        • Exhaustive search (5)
        • Greedy (2)
        • BFS , DFS (7)
        • Graph (2)
        • Dynamic Programming (1)
        • C++ Math (2)
        • 기타 문제 (14)
      • C++ 백준 (4)
      • C++ 팁 (1)
      • 개인 코테 & 스타디 <비공개> (29)
        • 코드 개인보관함 (9)
        • 코딩테스트+@ (11)
        • 알고리즘 스타디 (6)
        • 알고리즘 스타디 과제 (3)
        • 비공개 (0)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

  • 공지사항

  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 태그

    언리얼 behaviortree
    unreal 시퀀스
    unreal 인벤토리
    언리얼 비헤이비어트리
    언리얼 모션매칭
    언리얼 컷씬
    언리얼 인벤토리
    unreal
    언리얼 프로그래스바
    언리얼 parkour
    언리얼 ui
    언리얼
    언리얼 motionmatching
    언리얼 파쿠르
    unreal 모션매칭
    언리얼 behavior tree
    unreal inventory
    Unreal Parkour
    언리얼 시퀀스
    unreal 파쿠르
  • hELLO· Designed By정상우.v4.10.3
lucodev
프로그래머스(C++) - 피로도
상단으로

티스토리툴바