알고리즘/백준

1051_숫자 정사각형

베리영young 2024. 7. 8. 13:01

사용 알고리즘: 구현

사용 언어: java

 

package afterMiracom_0618;

import java.io.*;
import java.util.*;

public class Main_bj_1051_숫자정사각형 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		
		int sideLen = Math.min(n, m);
		int ans = 1; //최소 1임
		
		int[][] map = new int[n][m];
		for (int i = 0; i < n; i++) {
			String s = sc.next();
			for (int j = 0; j < m; j++) {
				map[i][j] = s.charAt(j) - '0';
			}
		}
		
//		for (int i = 0; i < n; i++) {
//			System.out.println(Arrays.toString(map[i]));
//		}
		
		for(int len=sideLen; len>0; len--) {
			for (int i = 0; i < n-len+1; i++) {
				for (int j = 0; j < m-len+1; j++) {
					int ank = map[i][j];
					if(map[i+len-1][j] == ank &&
							map[i][j+len-1] == ank &&
							map[i+len-1][j+len-1] == ank) {
						ans = Math.max(ans, len);
//						System.out.println(len+" "+i+" "+j);
						break;
					}
				}
				
				if(ans != 1) break;
			}
		}
		
		System.out.println(ans*ans);
	}

}

 

그렇다

'알고리즘 > 백준' 카테고리의 다른 글

1374_강의실  (0) 2024.07.31
17135_캐슬 디펜스 !!!  (0) 2024.07.10
14534_String Permutation  (0) 2024.07.08
7569_토마토  (0) 2024.07.08
2470_두 용액  (0) 2024.07.03