https://school.programmers.co.kr/learn/courses/30/lessons/87946#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이 문제의 경우, 언듯 보면 dp로 풀고 싶지만, 'ungeons의 세로(행) 길이(즉, 던전의 개수)는 1 이상 8 이하입니다.' 에 주목해야한다. 이 말은, 곧 N=8이기에, 몇중 포문을 돌던, 몇번 반복하던, 답만 구하면 되고, 시간초과는 '절대' 발생하지 않는다.
그렇기에, dp를 찾을 생각을 배제하고, 모든 가능성을 dfs로 완전탐색했다. 매번 여태 찾은 개수, hp(남은 피로도)를 인자로 넘겨주며 재귀함수를 돌면 끝이다.
#include <string>
#include <vector>
#include<queue>
using namespace std;
int siz;
int visit[10000];
int mx=-98765;
vector<vector<int>> dg;
void per(int depth,int hp){
if(mx<depth)
mx=depth;
for(int i=0;i<siz;i++){
if(visit[i]||dg[i][0]>hp)continue;
visit[i]=1;
per(depth+1,hp-dg[i][1]);
visit[i]=0;
}
}
int solution(int k, vector<vector<int>> dungeons) {
int answer = -1;
dg=dungeons;
siz=dungeons.size();
per(0,k);
answer=mx;
return answer;
}
'코딩테스트' 카테고리의 다른 글
PCCP 모의고사 1] 4번 운영체제 c++ (우선순위 큐) (0) | 2023.08.02 |
---|---|
[PCCP 모의고사] 2번 체육대회 (조합) (0) | 2023.08.02 |
[삼성 sw 역량 테스트 a형] 주사위 굴리기 c++ (0) | 2023.07.27 |
순열, 조합 c++ [재귀를 이용한 풀이] (0) | 2023.07.27 |
[삼성 sw 역량 테스트 A형 샘플 문제] 프로세서 연결하기 c++ (0) | 2023.07.26 |
https://school.programmers.co.kr/learn/courses/30/lessons/87946#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이 문제의 경우, 언듯 보면 dp로 풀고 싶지만, 'ungeons의 세로(행) 길이(즉, 던전의 개수)는 1 이상 8 이하입니다.' 에 주목해야한다. 이 말은, 곧 N=8이기에, 몇중 포문을 돌던, 몇번 반복하던, 답만 구하면 되고, 시간초과는 '절대' 발생하지 않는다.
그렇기에, dp를 찾을 생각을 배제하고, 모든 가능성을 dfs로 완전탐색했다. 매번 여태 찾은 개수, hp(남은 피로도)를 인자로 넘겨주며 재귀함수를 돌면 끝이다.
#include <string>
#include <vector>
#include<queue>
using namespace std;
int siz;
int visit[10000];
int mx=-98765;
vector<vector<int>> dg;
void per(int depth,int hp){
if(mx<depth)
mx=depth;
for(int i=0;i<siz;i++){
if(visit[i]||dg[i][0]>hp)continue;
visit[i]=1;
per(depth+1,hp-dg[i][1]);
visit[i]=0;
}
}
int solution(int k, vector<vector<int>> dungeons) {
int answer = -1;
dg=dungeons;
siz=dungeons.size();
per(0,k);
answer=mx;
return answer;
}
'코딩테스트' 카테고리의 다른 글
PCCP 모의고사 1] 4번 운영체제 c++ (우선순위 큐) (0) | 2023.08.02 |
---|---|
[PCCP 모의고사] 2번 체육대회 (조합) (0) | 2023.08.02 |
[삼성 sw 역량 테스트 a형] 주사위 굴리기 c++ (0) | 2023.07.27 |
순열, 조합 c++ [재귀를 이용한 풀이] (0) | 2023.07.27 |
[삼성 sw 역량 테스트 A형 샘플 문제] 프로세서 연결하기 c++ (0) | 2023.07.26 |