백준 1018 - 체스판 다시 칠하기 (파이썬)

Updated:

Answer

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
board = []
sliced_board = []

for _ in range(n):
    board.append(input())

for i in range(n - 7):
    for j in range(m - 7):
        count1 = 0
        count2 = 0
        
        for k in range(i, i + 8):
            for l in range(j, j + 8):
                if (k + l) % 2 == 0:
                    if board[k][l] != 'W': count1 += 1  
                    if board[k][l] != 'B': count2 += 1
                else:
                    if board[k][l] != 'B': count1 += 1
                    if board[k][l] != 'W': count2 += 1
                    
        sliced_board.append(count1)
        sliced_board.append(count2)

print(min(sliced_board))

Categories:

Updated: