본문 바로가기
Python/브루트 포스

99클럽 코테 스터디 11일차 TIL + 백준 1018 체스판 다시 칠하기 (파이썬)

by 유일리 2025. 2. 3.

※ 1018 체스판 다시 칠하기

https://www.acmicpc.net/problem/1018

문제 해결 TIP

작년에 풀어봤던 문제이다. (링크 참고)

https://uely.tistory.com/177

 

[Algorithm] 백준 1018 체스판 다시 칠하기 | 파이썬

※ 1018 체스판 다시 칠하기https://www.acmicpc.net/problem/1018 문제 해결 TIP입력으로 주어진 맵(그래프)에서 8x8 크기로 자른 후, 가능한 두 가지 맵(그래프)과 비교하는 문제이다. 가능한 두 가지 그래

uely.tistory.com

 

 

전체 코드

N, M = map(int,input().split())
graph = []
answer = []
for i in range(N):
    graph.append(list(map(str,input())))

for i in range(N-7):
    for j in range(M-7):
        count_1 = 0
        count_2 = 0
        
        #8x8 크기로 자르기
        for a in range(i,i+8):
            for b in range(j,j+8):
                if (a+b)%2 == 0:
                    if graph[a][b] != 'B':
                        count_1 += 1
                    if graph[a][b] != 'W':
                        count_2 += 1
                else:
                    if graph[a][b] != 'W':
                        count_1 += 1
                    if graph[a][b] != 'B':
                        count_2 += 1
        answer.append(count_1)
        answer.append(count_2)
print(min(answer))

댓글