공부한것들을 정리하는 블로그 입니다.
실3 3085번 사탕 문제 - 브루트포스 본문
반응형
https://www.acmicpc.net/problem/3085
import java.util.Arrays;
import java.util.Scanner;
public class Main {
//사탕게임
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
char[][] a = new char[n][n];
int ans = 1;
for (int i = 0; i < n; i++) {
a[i] = sc.next().toCharArray();
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (j < n-1) {
char t = a[i][j];
a[i][j] = a[i][j+1];
a[i][j+1] = t;
int temp = getChk_bf_3085(a);
if (ans < temp) ans = temp;
t = a[i][j];
a[i][j] = a[i][j+1];
a[i][j+1] = t;
}
if (i < n-1) {
char t = a[i][j];
a[i][j] = a[i+1][j];
a[i+1][j] = t;
int temp = getChk_bf_3085(a);
if (ans < temp) ans = temp;
t = a[i][j];
a[i][j] = a[i+1][j];
a[i+1][j] = t;
}
}
}
System.out.println(ans);
System.exit(0);
}
private static int getChk_bf_3085(char[][] a) {
int n = a.length;
int ans = 1;
for (int i = 0; i < n; i++) {
int cnt = 1;
for (int j = 1; j < n; j++) {
if (a[i][j] == a[i][j-1]) {
cnt += 1;
} else {
cnt = 1;
}
if (ans < cnt) ans = cnt;
}
cnt = 1;
for (int j = 1; j < n; j++) {
if (a[j][i] == a[j-1][i]) {
cnt += 1;
} else {
cnt = 1;
}
if (ans < cnt) ans = cnt;
}
}
return ans;
}
}
반응형
'알고리즘 > 백준 - 문제풀이' 카테고리의 다른 글
실2 1260 DFS와 BFS - 그래프의 탐색 (0) | 2022.05.18 |
---|---|
실3 1748 수 이어 쓰기 1 - 브루트포스 건너뛰며해보기 (0) | 2022.05.16 |
실1 6064 카잉달력 - 브루트포스 건너뛰며해보기 (0) | 2022.05.16 |
골5 14500 테트로미노 - 브루트포스 (0) | 2022.05.08 |
골5 1107 리모컨 - 브루트포스 (0) | 2022.05.07 |
실5 1476번 날짜 계산 - 브루트포스 (0) | 2022.05.01 |
브1 2309번 일곱 난쟁이 - 브루트포스 (0) | 2022.04.26 |
Comments