[BOJ][Python]체스판 다시 칠하기 #1018
5768 단어 python백준 1018체스판 다시 칠하기bojboj
https://www.acmicpc.net/problem/1018
📌풀이
내가 쓴 풀이(성공)
- 범위 내에서 가능한 모든 체스판 확인(Brute Force)
tmp1
은W
로 시작하는 체스판,tmp2
는B
로 시작하는 체스판c1
은tmp1
로 색칠할 때 바꿔야 하는 판 개수,c2
는tmp2
로 색칠할 때 바꿔야 하는 판 개수- 가장 작은 판 개수 찾아서 출력
n, m = map(int, input().split())
l1, l2 = 'WB'*4, 'BW'*4
arr = [input() for _ in range(n)]
res = 64
for iy in range(n-8+1):
for ix in range(m-8+1):
c1, c2 = 0, 0
for y in range(8):
#tmp1은 W로 시작하는 체스판, tmp2는 B로 시작하는 체스판
if y % 2:
tmp1, tmp2 = l1, l2
else:
tmp2, tmp1 = l1, l2
for x in range(8):
if arr[iy+y][ix+x] != tmp1[x]:
c1 += 1
elif arr[iy+y][ix+x] != tmp2[x]:
c2 += 1
res = min(res, c1, c2)
print(res)
📌후기
완전 탐색으로 해결하였다! 탐색하는 방법이 어렵지 않아서 무난하게 해결할 수 있었다!
Author And Source
이 문제에 관하여([BOJ][Python]체스판 다시 칠하기 #1018), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mein-figur/BOJPython체스판-다시-칠하기-1018저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)