문제
해결
- 재귀를 통해 모든 경우의 수를 계산함
소스코드
/*
Prob
https://programmers.co.kr/learn/courses/30/lessons/87946
Writer
MyungSeung Kim(mskim9967@gmail.com)
*/
#include <string>
#include <vector>
using namespace std;
int solution(int k, vector<vector<int>> dungeons) {
int ret = 0;
for(int i = 0; i < dungeons.size(); i++) {
if(dungeons[i][0] > k) continue;
vector<vector<int>> temp = dungeons;
temp.erase(temp.begin() + i);
ret = max(ret, 1 + solution(k - dungeons[i][1], temp));
}
return ret;
}
'Coding Test > 프로그래머스' 카테고리의 다른 글
행렬 테두리 회전하기 / 2021 Dev-Matching: 웹 백엔드 개발자 (0) | 2021.10.29 |
---|---|
로또의 최고 순위와 최저 순위 / 2021 Dev-Matching: 웹 백엔드 개발자 (0) | 2021.10.29 |
프렌즈4블럭 / 2018 KAKAO BLIND RECRUITMENT 1차 (0) | 2021.08.29 |
셔틀버스 / 2018 KAKAO BLIND RECRUITMENT 1차 (0) | 2021.08.29 |
캐시 / 2018 KAKAO BLIND RECRUITMENT 1차 (0) | 2021.08.28 |
Comment