W로 시작했다면 짝수칸에 W가 와야 한다. B가 칠해져 있다면 WstartCount 증가.
B로 시작했다면 짝수칸에 B가 와야 한다. W가 칠해져 있다면 WstartCount 증가.
W로 시작했다면 홀수칸에 B가 와야 한다. W가 칠해져 있다면 WstartCount 증가.
B로 시작했다면 홀수칸에 W가 와야 한다. B가 칠해져 있다면 WstartCount 증가.
카운팅 한 것들을 리스트에 담아뒀다가 마지막에 최소치만 뱉어주면 된다.
import sys
N, M = map(int, sys.stdin.readline().rstrip().split())
board = []
for _ in range(N):
board.append(sys.stdin.readline().rstrip())
min_list = []
for n in range(N - 7):
for m in ranget(M - 7):
WstartCount = 0 # 맨 왼쪽 위가 W로 시작
BstartCount = 0 # 맨 왼쪽 위가 B로 시작
for i in range(n, n + 8):
for j in range(m, m + 8):
if (i + j) % 2 == 0:
if board[i][j] == 'B': WstartCount += 1
else: BstartCount += 1
else:
if board[i][j] == 'W': WstartCount += 1
else: BstartCount += 1
min_list.append(WstartCount)
min_list.append(BstartCount)
print(min(min_list))
postorder(0, len(pre_order) - 1)