1018: 체스판 다시 칠하기

ewillwin·2023년 6월 12일
0

Problem Solving (BOJ)

목록 보기
61/230

  • i + j가 짝수이면
    처음 시작이 W일 경우 board[i][j]는 W여야함
    처음 시작이 B일 경우 board[i][j]는 B여야함
  • i + j가 홀수이면
    처음 시작이 W일 경우 board[i][j]는 B여야함
    처음 시작이 B일 경우 board[i][j]는 W여야함
import sys

N, M = map(int, input().split())

board = []
for _ in range(N):
	board.append(list(sys.stdin.readline()[:-1]))

result = []
for n in range(N - 8 + 1):
	for m in range(M - 8 + 1):
		w_cnt = 0; b_cnt = 0
		for i in range(n, n+8):
			for j in range(m, m+8):
				if (i + j) % 2 != 0:
					if board[i][j] == 'W':
						b_cnt += 1
					else:
						w_cnt += 1
				else:
					if board[i][j] == 'W':
						w_cnt += 1
					else:
						b_cnt += 1
		result.append(w_cnt); result.append(b_cnt)

print(min(result))
profile
💼 Software Engineer @ LG Electronics | 🎓 SungKyunKwan Univ. CSE

0개의 댓글