📍 문제 설명
💡 접근
전형적인 조합문제다.
k개 중에 6개 뽑는 것을 k = 0을 만날때까지 반복한다.
👩💻 코드
import java.util.*;
public class Main {
static int n, m, k, sum, answer = Integer.MAX_VALUE;
static int[][] board;
static char[] c;
static int[] arr,pm;
static boolean[] visited;
static int[] dx = {-1,1,0,0};
static int[] dy = {0,0,-1,1};
static ArrayList<String> list = new ArrayList<>();
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
Main T = new Main();
while(kb.hasNextInt()) {
k = kb.nextInt();
if(k == 0) break;
arr = new int[k];
for (int i = 0; i < k; i++) {
arr[i] = kb.nextInt();
}
pm = new int[6];
T.solution(0, 0);
sb.append("\n");
}
System.out.println(sb);
}
private void solution(int L, int s) {
if(L == 6) {
for(int i = 0; i < 6; i++) {
sb.append(pm[i] + " ");
}
sb.append("\n");
}
else {
for(int i = s; i < k; i++) {
pm[L] = arr[i];
solution(L+1,i+1);
}
}
}
}