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

박정훈·2022년 2월 14일
0

코테 문제 모음

목록 보기
14/34

백준 1018번

W로 시작했다면 짝수칸에 W가 와야 한다. B가 칠해져 있다면 WstartCount 증가.
B로 시작했다면 짝수칸에 B가 와야 한다. W가 칠해져 있다면 WstartCount 증가.

W로 시작했다면 홀수칸에 B가 와야 한다. W가 칠해져 있다면 WstartCount 증가.
B로 시작했다면 홀수칸에 W가 와야 한다. B가 칠해져 있다면 WstartCount 증가.

카운팅 한 것들을 리스트에 담아뒀다가 마지막에 최소치만 뱉어주면 된다.

import sys
N, M = map(int, sys.stdin.readline().rstrip().split())
board = []
for _ in range(N):
    board.append(sys.stdin.readline().rstrip())
min_list = []

for n in range(N - 7):
    for m in ranget(M - 7):
        WstartCount = 0 # 맨 왼쪽 위가 W로 시작
        BstartCount = 0 # 맨 왼쪽 위가 B로 시작
        for i in range(n, n + 8):
            for j in range(m, m + 8):
                if (i + j) % 2 == 0:
                    if board[i][j] == 'B': WstartCount += 1
                    else: BstartCount += 1
                else:
                    if board[i][j] == 'W': WstartCount += 1
                    else: BstartCount += 1
        min_list.append(WstartCount)
        min_list.append(BstartCount)
print(min(min_list))

postorder(0, len(pre_order) - 1)
profile
그냥 개인적으로 공부한 글들에 불과

0개의 댓글