문제📖
풀이🙏
- 입력한 데이터를 data 리스트에 저장한다.
- 리스트를 8X8로 쪼개기 위해서 반복문을 실행한다.
- 8X8로 쪼갠 보드를 하나씩 검사하며 인덱스의 합이 짝수인 경우에 따라 보드를 검사하고, 인덱스의 값이 홀수인 경우에 따라 보드를 검사하여 각 경우에 바꿔야하는 count를 비교하고 작은 값을 출력한다.
코드💻
n, m = map(int, input().split())
data = []
result=[]
for _ in range(n):
data.append(list(map(str, input())))
for i in range(0, n-7):
for j in range(0, m-7):
count1 = 0
count2 = 0
for x in range(i, i+8):
for y in range(j, j+8):
if (x+y) % 2 == 0:
if data[x][y] != 'W':
count1 += 1
if data[x][y] != 'B':
count2 += 1
else:
if data[x][y] != 'W':
count2 += 1
if data[x][y] != 'B':
count1 += 1
result.append(count1)
result.append(count2)
print(min(result))