Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 8892
  • 백준 2225
  • Java
  • 백준 1914
  • 백준 3135
  • 백준 2343
  • 백준 16194
  • 백준 2591
  • 백준 1531
  • 백준 7662
  • 백준 15312
  • 백준 3049
  • 백준 12605
  • 백준 24039
  • 백준 10709
  • 백준 4659
  • 백준 14582
  • 백준 1495
  • 백준 12871
  • 백준
  • 자바
  • 백준 1011
  • 백준 6550
  • 백준 2467
  • 백준 7567
  • 백준 1064
  • 백준 15655
  • 백준 1747
  • 백준 16926
  • 백준 15961
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 6603 로또(Java)
백준

백준 6603 로또(Java)

2023. 2. 7. 21:02

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

 

6603번: 로또

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

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 백트래킹문제이며 dfs함수를 사용하면 됩니다. 백준 15655 N과 M (6) 번문제랑 상당히 유사하며 중복을 허용하지 않기 때문에 visit 배열을 사용하여야 합니다.

 


 

Java 코드

 


import java.util.Scanner;
import java.util.Arrays;

public class Main {

  static int k;
  static int count;
  static int[] list;
  static int[] arr;
  static boolean[] visit;
  static StringBuilder sb;
  
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    sb = new StringBuilder();

    while(true) {
      k = sc.nextInt();
      if(k == 0) break;
      list = new int[k];
      arr = new int[k];
      visit = new boolean[k];
      for(int i = 0; i < k; i++) list[i] = sc.nextInt();
      Arrays.sort(list);

      dfs(0, 0);
      sb.append("\n");
    }
  
    System.out.println(sb);
  }

  public static void dfs(int dep, int num) {
    if(dep == 6) {
      for(int i = 0; i < 6; i++) sb.append(arr[i]+" ");
      sb.append("\n");
      return;
    }

    for(int i = num; i < k; i++) {
      if(visit[i] == false) {
        arr[dep] = list[i];
        visit[i] = true;
        dfs(dep + 1, i + 1);
        visit[i] = false;
      }
    }

  }
}

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

백준 11725 트리의 부모 찾기(Java)  (0) 2023.02.08
백준 18870 좌표 압축(Java)  (0) 2023.02.07
백준 1182 부분수열의 합(Java)  (0) 2023.02.07
백준 10799 쇠막대기(Java)  (0) 2023.02.07
백준 4963 섬의 개수(Java)  (0) 2023.02.07
    '백준' 카테고리의 다른 글
    • 백준 11725 트리의 부모 찾기(Java)
    • 백준 18870 좌표 압축(Java)
    • 백준 1182 부분수열의 합(Java)
    • 백준 10799 쇠막대기(Java)
    Park DJ
    Park DJ

    티스토리툴바