
문제보기
해결코드
n, m = map(int,input().split())
a = []
result = []
for _ in range(n):
a.append(list(map(str, input())))
cnt = 0
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 a[x][y] != 'W':
count1 += 1
if a[x][y] != 'B':
count2 += 1
else:
if a[x][y] != 'W':
count2 += 1
if a[x][y] != 'B':
count1 += 1
result.append(count1)
result.append(count2)
print(min(result))
- 8 X 8 으로 체스판을 잘라서 검사
- 행,열의 합이 짝수인 경우와 홀수인 경우에는 일정한 문자를 가져야 하므로 이를 기준으로 count1 값과 count2 값을 증가시킴
- 배열에 count 값들을 저장하고 제일 작은 숫자를 출력