완전탐색- 조합으로 해결
여러 답중에 하나만! 뽑아 내야하므로
System.exit(0)을 사용해서 답이 나오면 시스템을 종료하도록 하였다.
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class Main
{
static void combi(int[] arr,int start, int num, boolean[] visited){
if(num==0){
print(visited, arr);
return ;
}
for(int i=start;i<arr.length;i++){
visited[i]=true;
combi(arr,i+1,num-1,visited);
visited[i]=false;
}
}
static void print(boolean[] visited, int[] arr){
int sum=0;
ArrayList<Integer> list = new ArrayList<>();
for(int i=0;i<arr.length;i++){
if(visited[i]){
sum+=arr[i];
list.add(arr[i]);
}
}
if(sum==100){
Collections.sort(list);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
System.exit(0);
return ;
}
}
public static void main(String[] args) {
int n = 9;
Scanner sc = new Scanner(System.in);
int arr[] = new int[9];
int num;
for(int i=0;i<n;i++){
num=sc.nextInt();
arr[i]= num;
}
boolean[] visited = new boolean[9];
combi(arr,0,7,visited);
}
}
조합에는 이 블로그 글이 정리가 잘되어있으므로 참고하실 분은 참고하시길.. bcp0109.tistory.com/15
'코테 준비-문제풀기' 카테고리의 다른 글
프로그래머스 - 그리디/체육복/java (0) | 2020.11.17 |
---|---|
프로그래머스 - 정수삼각형/ 동적계획법/ dp/ 자바/JAVA (4) | 2020.10.30 |
프로그래머스 - 위장 /해쉬/자바 java (0) | 2020.10.23 |
프로그래머스 - 정렬 가장큰수 / java (0) | 2020.10.23 |
프로그래머스 - 카펫 /완전탐색/ JAVA 자바 (0) | 2020.10.21 |