본문 바로가기
백준

[python] 1018. 체스판 다시 칠하기

by DylanMsK 2019. 9. 27.

문제 출처

1018. 체스판 다시 칠하기.md

 

풀이


N, M = map(int, input().split())
board = [input() for _ in range(N)]
w, b = 'WBWBWBWB', 'BWBWBWBW'
white = [w, b] * 4
black = [b, w] * 4

min_ = 64
for y in range(N-7):
    for x in range(M-7):
        cnt = 0
        for i in range(8):
            for j in range(8):
                if board[y+i][x+j] != white[i][j]:
                    cnt += 1
            if cnt > min_:
                break
        min_ = min(min_, cnt)
        cnt = 0
        for i in range(8):
            for j in range(8):
                if board[y+i][x+j] != black[i][j]:
                    cnt += 1
            if cnt > min_:
                break
        min_ = min(min_, cnt)

print(min_)

'백준' 카테고리의 다른 글

[python] 11651. 좌표 정렬하기 2  (0) 2019.09.28
[python] 11651. 좌표 정렬하기  (0) 2019.09.28
[python] 7568. 덩치  (0) 2019.09.27
[python] 3078. 좋은 친구  (1) 2019.08.26
[python] 16925. 문자열 추측  (0) 2019.08.21