본문 바로가기

백준

BOJ[JAVA] 6603 로또

https://www.acmicpc.net/problem/6603

 

6603번: 로또

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로

www.acmicpc.net

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

	static int k;
	static int[] lotto;
	static int[] res = new int[6];

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		while (true) {
			StringTokenizer st;

			st = new StringTokenizer(br.readLine());

			k = Integer.parseInt(st.nextToken());
            
            if (k == 0) break;

			lotto = new int[k]; // 로또숫자들을 담아줄 배열

			for (int i = 0; i < k; i++) {
				lotto[i] = Integer.parseInt(st.nextToken());
			}

			combi(0, 0);
			System.out.println();

		}
	}

	// lotto의 배열의 인덱스 n
	// res의 인덱스 r
	public static void combi(int n, int r) {

		if (r == 6) {
//			System.out.println(Arrays.toString(res));
			for (int i = 0; i < res.length; i++) {
				System.out.print(res[i] + " ");
			}
			System.out.println();
			return;
		}
		if (n == k) {
			return;
		}

		// 재귀
		res[r] = lotto[n];
		combi(n + 1, r + 1);
		combi(n + 1, r);

	}// combi

}

'백준' 카테고리의 다른 글

BOJ[JAVA] 1012 유기농배추  (0) 2023.09.03
BOJ[JAVA] 1946번 신입 사원  (1) 2023.08.27
BOJ[JAVA] 2615 오목  (0) 2023.08.21
BOJ[JAVA] 4949 균형잡힌 세상  (0) 2023.07.31
BOJ[JAVA] 2607 비슷한 단어  (0) 2023.07.31