본문 바로가기
알고리즘/구현

[Python] 백준 1018 체스판 다시 칠하기

by JayAlex07 2023. 3. 24.

🧑‍💻 [Python] 백준 1018 체스판 다시 칠하기

Silver 4 - 완전 탐색

img

 

 

코드

N, M = map(int, input().split())

board = [list(input()) for _ in range(N)]

def chess(i, j):

    global result

    change_1,change_2 = 0, 0

    for row in range(8):
        for column in range(8):
            if (row + column) % 2 == 0 and board[i + row][j + column] == "B":
                change_1 += 1
            elif (row + column) % 2 == 1 and board[i + row][j + column] == "W":
                change_1 += 1

            if (row + column) % 2 == 0 and board[i + row][j + column] == "W":
                change_2 += 1
            elif (row + column) % 2 == 1 and board[i + row][j + column] == "B":
                change_2 += 1

    return min(result, change_1, change_2)

result = 1e9

for i in range(N - 7):
    for j in range(M - 7):
        result = min(result, chess(i,j))

print(result)

'알고리즘 > 구현' 카테고리의 다른 글

[Python] 백준 15683 감시  (0) 2023.03.20
[Python] 백준 14719 빗물  (0) 2023.03.15
[Python] 백준 15686 치킨 배  (0) 2023.03.14
[Python] 백준 14502 연구소  (0) 2023.03.14
[Python] 백준 3107 IPv6  (0) 2023.03.12