백준 6603 로또 JAVA

sundays·2022년 12월 31일
0

문제

로또

풀이

  1. 백트래킹으로 풀면 됩니다.
	/**
     * idx 부터 중복 없는 오름차순으로 뽑는다
     *
     * @param idx   현재 인덱스
     * @param depth 중복 없이 뽑는 갯수
     * @param s     전체 배열
     * @param c     중복 없는 배열 방문 여부
     */
    private static void backtracking(int idx, int depth, int[] s, boolean[] c) {
        if (depth == 6) {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < s.length; i++) {
                if (c[i]) {
                    sb.append(s[i] + " ");
                }
            }
            System.out.println(sb);
            return;
        }
        for (int i = idx; i < s.length; i++) {
            c[i] = true;
            backtracking(i + 1, depth + 1, s, c);
            c[i] = false;
        }
    }

전체 코드

전체 코드

profile
develop life

0개의 댓글