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

KT SON·2023년 4월 4일
0

[BOJ] 브루트포스

목록 보기
4/7

문제)

입출력)

Code)

# 체스판 다시 칠하기
n, m = map(int, input().split())

origin = []
cnt = []
for _ in range(n):
    origin.append(input())
    
for a in range(n-7):
    for b in range(m-7):    # 8*8로 자르기 위해, -7을 해준다.
        w_index=0  # 흰색으로 시작
        b_index=0  # 검은색으로 시작
        for i in range(a, a+8):  # 시작지점
            for j in range(b, b+8):  # 시작지점 
                if (i+j)%2==0:   # 짝수인 경우
                    if origin[i][j] != 'W':  # W가 아니면, 즉 B이면
                        w_index+=1  # W로 칠하는 갯수
                    else:  # W일 때
                        b_index+=1  # B로 칠하는 갯수
                else: # 홀수인 경우
                    if origin[i][j]!='W':
                        b_index+=1
                    else:
                        w_index+=1
        cnt.append(w_index)  # W로 시작할 때 경우의 수
        cnt.append(b_index)  # B로 시작할 때 경우의 수
print(min(cnt))

후기

내 코드 아니고 남들이 푼거 배껴온 것.
이건 진심으로 이해가 안간다. BOJ 문제 3개월차 인데 이렇게 이해가 안가기는 또 처음이라
몇 일 동안 이해 기간을 가지고 풀이를 들고 와보겠읍디다,,,

profile
속도보다는 방향이다.

0개의 댓글