[알고리즘]/알고리즘

[알고리즘] 백준6603. 로또

쿠릉쿠릉 쾅쾅 2022. 2. 13. 00:23
728x90

 

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

 

6603번: 로또

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

www.acmicpc.net

 

 

import java.util.Scanner;

public  class Main {
	
	static String[] s = new String[6];
	
	static StringBuilder sb = new StringBuilder();
	
	static String[] sArr;
	
    public static void main (String[] args) {    
    	
    	Scanner sc = new Scanner(System.in);

    	
    	while(true) {
    		sArr = sc.nextLine().split(" ");
    		
    		if("0".equals(sArr[0])) break;
    		
    		combination(0, 1);
    		
    		sb.append("\n");
    		
    	}
    	System.out.print(sb.toString());
    }
    
    
    static void combination(int cnt, int start) {
    
    	if(6 == cnt) {
    		
    		for(int i=0; i<6; i++) sb.append(s[i]).append(" ");
    		sb.setLength(sb.length()-1);
    		sb.append("\n");
    		
    		return;
    	}
    	
    	for(int i=start; i<sArr.length; i++) {
    			s[cnt] = sArr[i];
    			combination(cnt+1, i+1);
    	} 	
    	
    }

    
}
728x90