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

공지사항

인기 글

태그

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

dj0998

백준 1992 쿼드트리(Java)
백준

백준 1992 쿼드트리(Java)

2023. 2. 16. 18:36

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

 

1992번: 쿼드트리

첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 백준 2630 색종이 만들기 문제와 상당히 유사한 문제이며 동일하게 분할정복과 재귀를 활용하면 되는 문제입니다. 다만 차이점은 괄호를 더해주어야 한다는 점입니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {

  static int col;
  static int[][] arr;
  static StringBuilder sb = new StringBuilder();
  
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    
    int n = sc.nextInt();
    arr = new int[n][n];
    
    for(int i = 0; i < n; i++) {
      String str = sc.next();
      for(int j = 0; j < n; j++) arr[i][j] = str.charAt(j) - '0';
    }

    div(0, 0, n);

    System.out.println(sb);
  }

  public static void div(int x, int y, int n) {
    for(int i = x; i < x + n; i++) {
      for(int j = y; j < y + n; j++) {
        col = arr[x][y];
        if(col != arr[i][j]) {
          sb.append("(");
          div(x, y, n / 2);
          div(x, y + n / 2, n / 2);
          div(x + n / 2, y, n / 2);
          div(x + n / 2, y + n /2, n / 2);
          sb.append(")");
          return;
        }
      }
    }
    if(col == 0) sb.append(0);
    else sb.append(1);
  }
}

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

백준 11057 오르막 수(Java)  (0) 2023.02.17
백준 7562 나이트의 이동(Java)  (0) 2023.02.16
백준 9465 스티커(Java)  (0) 2023.02.16
백준 2468 안전 영역(Java)  (0) 2023.02.16
백준 11052 카드 구매하기(Java)  (0) 2023.02.16
    '백준' 카테고리의 다른 글
    • 백준 11057 오르막 수(Java)
    • 백준 7562 나이트의 이동(Java)
    • 백준 9465 스티커(Java)
    • 백준 2468 안전 영역(Java)
    Park DJ
    Park DJ

    티스토리툴바