코테/백준
[JAVA] 백준 숫자 정사각형 1051
65살까지 코딩
2025. 3. 31. 20:11
728x90
반응형
이 문제를 처음 봤을떄 각 지점에서 하나씩 좌우로 탐색하면서 찾아야하나? 라는 고민이 들었는데 그럼 먼가 지저분해질 것 같은 기분이 들었다. 그래서 더 좋은 방법을 고민해보았는데 n,m 이 50으로 상대적으로 숫자가 굉장히 낮기때문에
모든 정사각형을 탐색하는 것이 더 좋다는 생각이 들었다.
import java.util.*;
import java.io.*;
class Main {
static class XY{
int x;
int y;
XY(int x, int y){
this.x =x;
this.y = y;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] input = br.readLine().split(" ");
int n = Integer.parseInt(input[0]);
int m = Integer.parseInt(input[1]);
int[][] board = new int[n][m];
for(int i =0; i<n; i++){
board[i] = Arrays.stream(br.readLine().split("")).mapToInt(Integer::parseInt).toArray();
}
int answer = 1;
for(int r = 1; r<n; r++){
for(int y = 0; y+r<n; y++){
for(int x =0; x+r<m; x++){
int v =board[y][x];
if(v == board[y][x+r]
&& v== board[y+r][x]
&& v == board[y+r][x+r]){
answer = (r+1)*(r+1);
}
}
}
}
bw.write(answer + "");
bw.flush();
bw.close();
br.close();
}
}
728x90
반응형