๋ฌธ์
ํ์ด
์ฒ์์๋ ์ ๋ ฅ์ ํฌ๊ธฐ๋ฅผ ์ฃผ์๊น๊ฒ ๋ณด์ง ์์์ ์์ ํ์์ ๋ฐฉ์์ ์๊ฐํ์ง ๋ชปํ๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๋ฌด๋ฆฌ ์๊ฐํด๋ด๋ ๋ ์ค๋ฅด์ง ์์์ ์ฒ์ฒํ ๋ค์ ์๊ฐํด๋ดค๋๋ฐ N๊ณผ M์ ๋ฒ์๊ฐ 50์ด๊ณ ๊ฐ๋ฅํ ๋ชจ๋ 8x8 ์ ์ฌ๊ฐํ์ ๊ฒ์ฌํ๋๋ผ๋ ์ถฉ๋ถํ ์ปค๋ฒ ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํด์ ์์ ํ์์ผ๋ก ํ์๋ค.
์์ ํ์์ ํ ๋, ์ฒ์ ์์์ด W์ธ ๊ฒฝ์ฐ์ B์ธ ๊ฒฝ์ฐ ๋ชจ๋ ์ํํ๋๋ก ํ๋ค. ์กฐ๊ธ ํค๋งธ๋ ๋ถ๋ถ์ prev๋ฅผ ์ ์งํ๋ฉด์ prev์ ํ์ฌ ๊ฐ์ด ๊ฐ์ผ๋ฉด ์นด์ดํธ๋ฅผ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋๋ฐ ์ค์ด ๋ฐ๋ ๋๋ง๋ค prev์ ๊ฐ์ด ํ ๋ฒ ๋ ๋ณ๊ฒฝ๋์ด์ผ ํ๋ ๋ถ๋ถ์ด์๋ค. ๊ทธ๋์ ์ฒ์ ํ์ ์ ์ธํ ๋ชจ๋ ํ์ ์ฒซ ์ด์ prev๋ฅผ ํ ๋ฒ ๋ ๋ณ๊ฒฝํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ์๋ค. ๊ตฌํ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private static char[][] input;
public static void main(String[] args) throws IOException {
StringTokenizer st = new StringTokenizer(br.readLine()); // "2 3"์ ํ์ค๋ก ์
๋ ฅ๋ฐ๊ธฐ
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
input = new char[N][M];
for (int i = 0; i < N; i++) {
String line = br.readLine();
for (int j = 0; j < M; j++) {
input[i][j] = line.charAt(j);
}
}
int min = Integer.MAX_VALUE;
for (int x = 0; x <= N - 8; x++) {
for (int y = 0; y <= M - 8; y++) {
min = Integer.min(min, getCount(x, y, 'W'));
min = Integer.min(min, getCount(x, y, 'B'));
}
}
System.out.println(min);
}
private static int getCount(int x, int y, char start) {
char prev = start;
int cnt = (input[x][y] == start) ? 0 : 1;
for (int i = x; i < x + 8; i++) {
for (int j = y; j < y + 8; j++) {
if (i == x && j == y) continue;
if (j == y) {
prev = ( prev == 'W') ? 'B' : 'W';
}
if (prev == input[i][j]) {
cnt++;
}
prev = ( prev == 'W') ? 'B' : 'W';
}
}
return cnt;
}
}
'๐ Algorithm > ๐ป ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 11053. ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด (0) | 2021.02.10 |
---|---|
[๋ฐฑ์ค] 9663. N-Queens (0) | 2021.02.05 |
[๋ฐฑ์ค] 2493. ํ (0) | 2021.02.04 |
[๋ฐฑ์ค] 1436. ์ํ๊ฐ๋ ์ (0) | 2021.02.03 |
[๋ฐฑ์ค] 2146. ๋ค๋ฆฌ ๋ง๋ค๊ธฐ (1) | 2021.02.02 |
๋๊ธ