๋ฐฑ์ค 1018๋ฒ
์ฃผ์ด์ง ๋ณด๋ ๋ชจ์์์ ์ฒด์คํ(ํฐ์๊ณผ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ์น ํ๋ค. ๋ค์์ค์ ์์๋ฅผ ๋ฐ๊ฟ์ ์น ํ๊ณ )์
๋ง๋ค ๋ ์ต์ํ์ ์์น ์ ํ๋ ํ์๋ฅผ ์ฐพ์๋ด๋ ๋ฌธ์
# ๋ค์ ์น ํด์ผํ๋ ์ต์ ๊ฐ
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
board = []
count = []
for i in range(N):
row = input()
board.append(row)
# board ์ ์ฅ
for i in range(N - 7):
for j in range(M-7):
first_w = 0 #์ฒ์์ ํฐ์ W๊ฐ ๋ค์ด์จ ๊ฒฝ์ฐ
first_b = 0 #์ฒ์์ ๊ฒ์ ์ B๊ฐ ๋ค์ด์จ ๊ฒฝ์ฐ
for h in range(i, i+8):
for w in range(j, j+8):
#๊ฐ๋ก 8์นธ ํ์ ํ ์๋๋ก 8์นธ ํ์ํ๋ ๋ฐ๋ณต๋ฌธ (h, w)
if (w+h) % 2 == 0:
# (0,0), (1,1), (2,0) ๊ฐ์ด w + h๊ฐ ๋ํ์ ๋ ์ง์์ธ ๊ฒฝ์ฐ ๋์ผ ํ ๊ฐ์ด ๋ฐ๋ณต๋๋ค.
if board[h][w] != 'W':
first_w += 1
if board[h][w] != 'B':
first_b += 1
else:
if board[h][w] != 'B':
first_w += 1
if board[h][w] != 'W':
first_b += 1
#์น ํ ๊ฐ ๋ค์ ์ํซ ์ ์ฅํ๋ค.
count.append(first_w)
count.append(first_b)
print(min(count))
#์ต์๊น ์ธก์
์ด๋ ค์ด ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ํ ์ ์๋ค๊ณ ๊ณ ์ง๋ถ๋ฆฌ๊ณ ์์ง๋ง๊ณ ์ ๋ต์ ๋ณด๊ณ ์ต๋ํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ธ ๊ฒ์ ์๊ฒ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๋์ ๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ๋ํ์ฌ๋ ์๊ฒ๋์์ต๋๋ค.
๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ์ฐพ์ผ๋ฉด์ ์ ๋ต์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋งํฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด 100๊น์ง 2์ ๋ฐฐ์๋ฅผ ์ฐพ๋ ์ฝ๋๋ฅผ python์ผ๋ก ์์ฑํ๋ค๊ณ ํ ๋
count = 0
for n in range(1, 101):
if n % 2 == 0:
count +=1
print(count)
์์ ์ฝ๋์ ๊ฐ์ด 1์์ 100๊น์ง์ ๋ชจ๋ ์๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ๋งํฉ๋๋.
์ค๋ ํ์ ๋ฐฑ์ค๋ฌธ์ ๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์์ ํ์ ๋ฌธ์ ์ด๊ธฐ์ ๋ถ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ํด๋นํฉ๋๋ค.