
https://www.acmicpc.net/problem/1018
tmp1은 W로 시작하는 체스판, tmp2는 B로 시작하는 체스판c1은 tmp1로 색칠할 때 바꿔야 하는 판 개수, c2는 tmp2로 색칠할 때 바꿔야 하는 판 개수n, m = map(int, input().split())
l1, l2 = 'WB'*4, 'BW'*4
arr = [input() for _ in range(n)]
res = 64
for iy in range(n-8+1):
    for ix in range(m-8+1):
        c1, c2 = 0, 0
        for y in range(8):
        #tmp1은 W로 시작하는 체스판, tmp2는 B로 시작하는 체스판
            if y % 2: 
                tmp1, tmp2 = l1, l2
            else:
                tmp2, tmp1 = l1, l2
            for x in range(8):
                if arr[iy+y][ix+x] != tmp1[x]:
                    c1 += 1
                elif arr[iy+y][ix+x] != tmp2[x]:
                    c2 += 1
        res = min(res, c1, c2)
print(res)
완전 탐색으로 해결하였다! 탐색하는 방법이 어렵지 않아서 무난하게 해결할 수 있었다!