1018번: 체스판 다시 칠하기 (acmicpc.net)
1018번: 체스판 다시 칠하기
첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다.
www.acmicpc.net
import java.util.*;
import static java.lang.Math.min;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int m = input.nextInt();
boolean[][] brd = new boolean[n][m];
for (int i=0; i<n; i++) {
String str = input.next();
for (int j=0; j<m; j++) {
if (str.charAt(j) == 'W') brd[i][j] = true;
else brd[i][j] = false;
}
}
int ans = 64;
for (int i = 0; i<=n-8; i++) {
for (int j = 0; j<=m-8; j++){
int cnt = 0;
boolean TF = brd[i][j];
for (int i8 = i; i8 < i+8; i8++){
for (int j8 = j; j8 < j+8; j8++){
if (TF != brd[i8][j8]) cnt++;
TF = !TF;
}
TF = !TF;
}
ans = min(ans, cnt = min(cnt, 64-cnt));
}
}
System.out.println(ans);
}
}
'CodingTest > 백준' 카테고리의 다른 글
[JAVA] 백준 - 11866: 요세푸스 문제 0 (0) | 2023.09.26 |
---|---|
[JAVA] 백준 - 11650: 좌표 정렬하기 (0) | 2023.09.26 |
[JAVA] 백준 - 10814번: 나이순 정렬 | Arrays.sort() (0) | 2023.09.25 |
[c++] 백준 - 10971: 외판원 순회2 (0) | 2023.07.30 |
[c++] 백준 - 1759번: 암호 만들기 | 재귀함수 (0) | 2023.07.20 |