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

·2023년 4월 27일

백준 문제풀이

목록 보기
51/159

백준 1018번


최종 제출 코드

n, m = map(int, input().split())
# 개별 원소를 비교하기 위한 변수
check = True
check_dict = {True:'W', False:'B'}
arr = []
count = 0
min_cnt = 64

for i in range(n):
  arr.append(input().rstrip())

for i in range(0, n-8+1):
  for k in range(0, m-8+1):
    for j in range(i, i+8):
    
      # 줄이 바뀔 때는 W->B or B->W가 아니라 동일한 알파벳으로 유지
      # 따라서 바꿔줬던 check 변수를 다시 변경
      check = not check
      
      for l in range(k, k+8):
        if check_dict[check]!=arr[j][l]:
          count += 1
          
        # W와 B가 번갈아가면서 나옴
        check = not check
      
      
    count = min(count, 64-count)
    min_cnt = min(count, min_cnt)
    count = 0
profile
백엔드 개발자가 되고 싶어요(22.8.15~)

0개의 댓글