-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
동전교환문제 dfs 질문입니다.
22.08.09 18:18 작성 조회수 210
0
채점사이트에 dfs 방식으로 풀이후 제출해보았는데 오답처리가 되어 강사님 강의를 확인했는데 Integer[] arr 을 static 처리를 했는지 여부를 제외하고 전부 코드가 같았습니다. 강사님의 코딩을 그대로 클론하여 검사받아도 오류가 나오고 제가 짠 코드로도 오답이 나오는데 혹시 이유를 알 수 있을까요? 코드 첨부하겠습니다.
package section8;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class p05 {
static int n;
static int money;
static int answer = Integer.MAX_VALUE;
public static void DFS(int count, int sum, Integer[] arr){
if(sum > money)return;
if(sum >= answer) return;
if(sum == money){
answer = Math.min(answer,count);
}
else{
for(int i = 0; i<n; i++){
DFS( count+1,sum+arr[i], arr);
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
Integer[] arr = new Integer[n];
for(int i = 0; i<n; i++) arr[i] = sc.nextInt();
money = sc.nextInt();
Arrays.sort(arr, Collections.reverseOrder());
DFS(0,0, arr);
System.out.println(answer);
}
}
답변을 작성해보세요.
0
답변 1