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

2022. 1. 24. 19:59Language/python

https://www.acmicpc.net/problem/1018

 

1018번: 체스판 다시 칠하기

첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다.

www.acmicpc.net

 

n, m = map(int, input().split())
list = []
count = []
for _ in range(n):
    list.append(input())

for i in range(n - 7):
    for j in range(m - 7):
        num1 = 0
        num2 = 0
        for k in range(i, i + 8):
            for h in range(j, j + 8):
                if (k + h) % 2 == 0:
                    if list[k][h] != 'W':
                        num1 += 1
                    else:
                        num2 += 1
                else:
                    if list[k][h] != 'B':
                        num1 += 1
                    else:
                        num2 += 1
            
        count.append(num1)
        count.append(num2)            

print(min(count))