강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이승재님의 프로필 이미지
이승재

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

5. 동전교환

동전교환문제 dfs 질문입니다.

작성

·

326

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);
}
}

답변 1

0

이승재님의 프로필 이미지
이승재
질문자

다음날 다시 혼자서 코드 짜보니깐 정답 나왔습니다!

혹시 어떻게 해결하셨나요??

이승재님의 프로필 이미지
이승재

작성한 질문수

질문하기