[프로그래머스 / C++] 피로도

Seulguo·2022년 7월 13일
0

Algorithm

목록 보기
55/185
post-thumbnail

🐣 문제

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


🐥 코드

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

using namespace std;

int solution(int k, vector<vector<int>> dungeons) {
    int answer = 0;
    
    vector<int> v;
    
    for(int i = 0; i < dungeons.size(); i++){
        v.push_back(i);
    }
    
    do{
        int temp = k;
        int cnt = 0;
        
        for(int i = 0; i < v.size(); i++){
            int min = dungeons[v[i]][0];
            int used = dungeons[v[i]][1];
            
            if (min > temp) continue;
            temp -= used;
            cnt ++;
        }
        
        answer = max(answer, cnt);
    
    } while(next_permutation(v.begin(), v.end()));
    
    return answer;
}

0개의 댓글