-
[백준-2630] 색종이 만들기 - Java공부/백준 2022. 7. 2. 19:50728x90
https://www.acmicpc.net/problem/2630
백준 2630번 색종이 만들기 자바 풀이
난이도: 실버2
재귀를 이용하여 풀었다.
같은 색으로 이루어져 있는지 체크하고, 아닐 경우 1/4을 하여 확인한다.
코드
import java.util.*;public class back2630 {static int white=0;static int blue=0;static int arr[][];public static void main(String args[]){Scanner scanner = new Scanner(System.in);int n=scanner.nextInt();arr=new int[n][n];for(int i=0;i<n;i++){for(int j=0;j<n;j++){arr[i][j]=scanner.nextInt();}}div(0,0,n);System.out.println(white);System.out.println(blue);}static void div(int r,int c,int size){if(check(r,c,size)){if(arr[r][c]==0){white++;}else{blue++;}return;}int new_size=size/2;div(r,c,new_size);div(r,c+new_size,new_size);div(r+new_size,c,new_size);div(r+new_size,c+new_size,new_size);}static boolean check(int r, int c, int size){int temp=arr[r][c];for(int i=r;i<r+size;i++){for(int j=c;j<c+size;j++){if(arr[i][j]!=temp){return false;}}}return true;}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-9095] 1, 2, 3 더하기 - Java (0) 2022.07.12 [백준-11723] 집합 - Java (0) 2022.07.05 [백준-2805] 나무 자르기 - Java (0) 2022.07.01 [백준-2559] 수열 - Java (0) 2022.06.30 [백준-25305] 커트라인 - Java (0) 2022.06.27