본문 바로가기
백준

체스판 다시 칠하기 - 1018번

by 청원뿔세포 2022. 10. 9.

입력으로 들어온 체스판에 대하여 8X8크기의 체스판이 될 수 있는 경우를 하나하나 다 조사를 한 뒤 다시 칠해야 할 칸만 배열에 모두 담고 최소값을 출력한다.

import sys
y_axis, x_axis = map(int,input().split())
graph = [[0]*x_axis for _ in range(y_axis)]
visited = [[False]*x_axis for _ in range(y_axis)]
result = []

for y in range(y_axis):
    p = sys.stdin.readline()
    for x in range(x_axis):
        graph[y][x] = p[x]


for i in range(y_axis-7):
    for j in range(x_axis-7):
        black = 0
        white = 0
        for y in range(i,i+8):
            for x in range(j,j+8):
                if (x+y)%2 == 0:
                    if graph[y][x] != 'B':
                        black += 1
                    if graph[y][x] != 'W':
                        white += 1
                else:
                    if graph[y][x] != 'W':
                        black += 1
                    if graph[y][x] != 'B':
                        white += 1
        result.append(black)
        result.append(white)
print(min(result))

참고 : https://ittrue.tistory.com/60

'백준' 카테고리의 다른 글

요세푸스 문제 0 - 11866번  (0) 2022.10.10
좌표 정렬하기 - 11650번  (0) 2022.10.10
나이순 정렬 - 10814번  (0) 2022.10.09
영화감독 숌 - 1436번  (0) 2022.10.05
적록색약 - 10026번  (0) 2022.10.04

댓글