poow810
article thumbnail

 

Approach

  • N, M의 크기가 8 ≤ N, M ≤ 50이었기 때문에, 완전탐색 문제라고 생각했다.
  • 8칸짜리 체스판을 만들어야하기 때문에, 범위를 N-7, M-7로 주었다.
  • 단순히 짝수칸과 홀수칸을 백, 흑으로 바꿔주면서 카운팅하면 됐기에 구현은 그렇게 어렵지 않았다.

Solution 💡

import sys 

N, M = map(int, sys.stdin.readline().split())
mp = [list(map(str, sys.stdin.readline().strip())) for _ in range(N)]

answer = 1e99
for j in range(N - 7):
    for k in range(M - 7):
        white = 0
        black = 0
        for i in range(j, j + 8):
            for z in range(k, k + 8):
                if (i + z) % 2 == 0:
                    if mp[i][z] != 'W':
                        white += 1
                    if mp[i][z] != 'B':
                        black += 1
                else:
                    if mp[i][z] != 'B':
                        white += 1
                    if mp[i][z] != 'W':
                        black += 1
        
        answer = min(answer, white, black)

print(answer)

profile

poow810

@woonii_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!