티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/87946
코딩테스트 연습 - 피로도
XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던
programmers.co.kr
[프로그래머스][C++] 피로도
#include <string>
#include <vector>
using namespace std;
int answer = -1;
void dfs(int p, int cnt, vector<vector<int>> dungeons, vector<int> visit) {
answer = max(answer, cnt);
for (int i = 0; i < dungeons.size(); i++) {
if (visit[i]) continue;
visit[i] = 1;
if (p >= dungeons[i][0])
dfs(p - dungeons[i][1], cnt + 1, dungeons, visit);
else dfs(p, cnt, dungeons, visit);
visit[i] = 0;
}
}
int solution(int k, vector<vector<int>> dungeons) {
vector<int> visit(dungeons.size(), 0);
dfs(k, 0, dungeons, visit);
return answer;
}
'Problem Solving' 카테고리의 다른 글
[백준][C++] 14500 테트로미노 (0) | 2022.06.20 |
---|---|
[프로그래머스][C++] 괄호 회전하기 (0) | 2022.06.19 |
[백준][C++] 1913 달팽이 (0) | 2022.06.07 |
[프로그래머스][C++] 게임 맵 최단거리 (0) | 2022.06.04 |
[프로그래머스][C++] 영어 끝말잇기 (0) | 2022.06.03 |
댓글