BaekJoon
15657번:N과 M (8)[Java]
충 민
2022. 9. 1. 21:05
메서드 매개변수를 시작하는 index, 출력을 위하여 cnt , StringBuilder 3개로 잡는다.
[소스코드]
package algorithm15657;
import java.util.*;
public class Main {
static int n, m;
static int a[];
static int useint[];
static boolean[] visit;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
n = sc.nextInt();//수 입력
m = sc.nextInt();//한줄당 개수 입력
a = new int[m];
useint = new int[n];
visit = new boolean[n+1];
for(int i=0; i<n;i++) {
useint[i]=sc.nextInt();
}
Arrays.sort(useint);
StringBuilder sb = new StringBuilder();
go(0,0,sb);
System.out.println(sb);
}
public static void go(int index, int cnt,StringBuilder sb) {
if (cnt == m) {
for (int i=0; i<m; i++) {
sb.append(a[i] + " ");
}
sb.append("\n");
} else {
for (int i=index; i<n; i++) {
a[cnt] = useint[i];
go(i, cnt+1, sb);
}
}
}
}