삼성 SW 역량테스트 기출문제 - 퇴사를 풀어보았다.
퇴사(이직) 준비하는 나에게 걸맞는 문제가 아닐까 싶다.,,
https://www.acmicpc.net/problem/14501
문제 난이도는 그렇게 높지 않다.
완전 탐색이든 DP 로든 풀 수 있다.
완전 탐색은
public static void dfs(int d, int idx, int sum){
if(d==N){
if(sum>Max){
Max = sum;
}
return ;
} if(idx==N) {
if(sum>Max){
Max = sum;
}
return ;
}
else {
int flag = 0;
for(int i=idx;i<N;i++){
if(!visited[i] && i+ti[i]<=N){
visited[i] = true;
dfs(d+1, i+ti[i], sum+pi[i]);
visited[i] = false;
flag =1;
}
}
if(flag==0){
if(sum>Max){
Max = sum;
}
return ;
}
}
}
의 형태로 돌려주면 되고, 코드는 DP로 구현하였다.
'알고리즘' 카테고리의 다른 글
백준 14888 - JAVA 연산자 끼워넣기 (0) | 2020.03.08 |
---|---|
백준 15685 드래곤 커브 JAVA (0) | 2020.03.05 |
백준 15686 (BOJ 15686) 치킨배달 - JAVA (0) | 2020.03.03 |
백준 14502 연구소 - JAVA (0) | 2020.03.02 |
[백준 13458 - JAVA] 시험감독 (0) | 2020.03.01 |