사용 알고리즘: 구현
사용 언어: 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 |