본문 바로가기
JAVA

백준 3085

by Son 2022. 4. 7.

package Baekjoon;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Number3085 {
static int N;
static char[][] arr;
static int max_value = 0;


public static void check(char[][] arr) {  //첫번째열부터 같은 열까지 서로 값이 같은지 같지 않은지를 확인
for(int i = 0; i<N; i++) {
int count =1;
for(int j =0; j<N-1; j++) {
if(arr[i][j] == arr[i][j + 1]) {
count++;
} else {
count = 1;
}
max_value = Math.max(max_value, count);
}
}

for(int i =0;i<N; i++) {   //첫번째행부터 같은 행까지 서로 값이 같은지 같지 않은지를 확인
int count = 1;
for(int j=0;j<N-1; j++) {
if(arr[j][i] == arr[j+1][i]) {
count++;
} else {
count = 1;
}
max_value = Math.max(max_value, count);
}
}
}



public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(bf.readLine());  //행렬의 길이

arr = new char[N][N];

for(int i =0;i<N;i++) {
String line = bf.readLine();  //다음줄을 받아서
for(int j=0;j<N;j++) {
arr[i][j] = line.charAt(j);  //문자열을 문자1개로 나누어서 배열에 저장
}
}

for(int i =0; i<N;i++) {
for(int j =0;j<N-1;j++) {

char temp = arr[i][j];
arr[i][j] = arr[i][j + 1];  // 오른쪽에 있는 열과 자신의 열을 바꿈
arr[i][j + 1] = temp;

check(arr);

temp = arr[i][j];
arr[i][j] = arr[i][j + 1];
arr[i][j + 1] = temp;
}
}

for(int i=0;i<N; i++) {
for(int j=0;j<N-1;j++) {   // 위에 있는 행과 자신의 행을 바꿈
char temp = arr[j][i];
arr[j][i] = arr[j+1][i];
arr[j + 1][i] = temp;

check(arr);

temp = arr[j][i];
arr[j][i] = arr[j+1][i];
arr[j+1][i] = temp;
}

}
System.out.println(max_value);

}

}

'JAVA' 카테고리의 다른 글

백준 1107  (0) 2022.04.28
백준 1476  (0) 2022.04.10
백준 2309  (0) 2022.04.04
decorator  (0) 2022.03.01
백준 2133  (0) 2022.02.14