본문 바로가기
전공공부/코딩테스트

(c++) 프로그래머스 "피로도"

by 시아나 2022. 4. 13.

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

 

코딩테스트 연습 - 피로도

XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던

programmers.co.kr


나의 코드

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

using namespace std;

int solution(int k, vector<vector<int>> dungeons) {
    int answer = 0;
    vector<int> indexs;
    for (int i = 0; i < dungeons.size(); i++) {
        indexs.push_back(i);
    }
    while (next_permutation(indexs.begin(), indexs.end())) {
        int left = k;
        int count = 0;
        for (int i : indexs) {
            if (left < dungeons[i][0])break;
            else {
                k -= dungeons[i][1];
                count++;
            }
        }
        answer = answer < count ? count : answer;
    }
    return answer;
}