Algorithm/baekjoon

로또

마닐라 2022. 2. 6. 21:11

📍 문제 설명

 

💡 접근

전형적인 조합문제다.

k개 중에 6개 뽑는 것을 k = 0을 만날때까지 반복한다.

 

👩‍💻 코드

import java.util.*;

public class Main {
    static int n, m, k, sum, answer = Integer.MAX_VALUE;
    static int[][] board;
    static char[] c;
    static int[] arr,pm;
    static boolean[] visited;
    static int[] dx = {-1,1,0,0};
    static int[] dy = {0,0,-1,1};
    static ArrayList<String> list = new ArrayList<>();
    static StringBuilder sb = new StringBuilder();
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        Main T = new Main();

        while(kb.hasNextInt()) {
            k = kb.nextInt();
            if(k == 0) break;
            arr = new int[k];
            for (int i = 0; i < k; i++) {
                arr[i] = kb.nextInt();
            }
            pm = new int[6];
            T.solution(0, 0);
            sb.append("\n");
        }
        System.out.println(sb);
    }

    private void solution(int L, int s) {
        if(L == 6) {
            for(int i = 0; i < 6; i++) {
                sb.append(pm[i] + " ");
            }
            sb.append("\n");
        }
        else {
            for(int i = s; i < k; i++) {
                pm[L] = arr[i];
                solution(L+1,i+1);
            }
        }
    }

}

'Algorithm > baekjoon' 카테고리의 다른 글

종이 조각  (0) 2022.02.08
부분수열의 합  (0) 2022.02.08
외판원 순회 2  (0) 2022.02.06
차이를 최대로  (0) 2022.02.06
맞춰봐  (0) 2022.02.06