반응형
🅰 백준 6603. 로또
✏️ 문제 풀이
- 재귀를 이용한 조합을 이용하여 풀었다.
✏️ 소스코드
package bruteforce;
import java.util.*;
import java.io.*;
public class Main_실버2_6603_손은성 {
static int R = 6;
static int N, ans[] = new int[R];
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
int input[] = new int[N];
// 0이면 종료
if (N == 0)
break;
for (int i = 0; i < N; i++) {
input[i] = Integer.parseInt(st.nextToken());
}
comb(input, 0, 0);
System.out.println();
}
}
private static void comb(int[] input, int cnt, int start) {
if (cnt == R) {
for (int i : ans) {
sb.append(i+" ");
}
System.out.println(sb);
sb.setLength(0);
return;
}
for (int i = start; i < N; i++) {
ans[cnt] = input[i];
comb(input, cnt + 1, i + 1);
}
}
}
✅ 후기
- 이런 문제들은 보면 어떤식으로 접근해야 하는지 어느정도 감이 온다. 전에는 하나도 몰랐는데 공부를 하면 할 수록 문제를 보는 눈이 달라지는것 같아서 뿌듯하다.
반응형
'백준 > 완전탐색' 카테고리의 다른 글
백준 1697. 숨바꼭질 (0) | 2021.08.26 |
---|---|
백준 1182. 부분수열의 합 (0) | 2021.08.26 |
백준 10971. 외판원 순회 2 (0) | 2021.08.26 |
백준 10819. 차이를 최대로 (0) | 2021.08.26 |
백준 9095. 1, 2, 3 더하기 (0) | 2021.08.26 |
댓글