반응형
🅰 백준 6603. 로또
6603번: 로또
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로
www.acmicpc.net
✏️ 문제 풀이
- 재귀를 이용한 조합을 이용하여 풀었다.
✏️ 소스코드
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 |
댓글