100세까지 코딩
[백준] 1018번 체스판 다시 칠하기 (파이썬) 본문
문제
나의 생각
- 2차원 배열로 입력 받는다.
- 8 X 8 크기의 2차원 배열을 모든 곳에 갖다대봐야한다.
- 체스판을 색칠하는 경우는 흰색으로 시작하거나 검은색으로 시작하는 2개의 경우가 전부다.
- 규칙을 찾아 반복문을 통해 답을 찾아 낸다.
나의 풀이
n, m = map(int, input().split())
map_list = [list(input()) for _ in range(n)]
result = list()
for i in range(n - 7): # 인덱스를 넘지 않기 위해
for j in range(m - 7): # 인덱스를 넘지 않기 위해
another = 0
another2 = 0
for k in range(i, i + 8): # 8크기만큼 순회
for l in range(j, j + 8): # 8크기만큼 순회
if (k + l) % 2 != 0: # 규칙
if map_list[k][l] != "W":
another += 1
if map_list[k][l] != "B":
another2 += 1
else:
if map_list[k][l] != "B":
another += 1
if map_list[k][l] != "W":
another2 += 1
result.append(another)
result.append(another2)
print(min(result))
'코딩테스트 > 파이썬' 카테고리의 다른 글
[백준] 4949번 균형잡힌 세상 (파이썬) (0) | 2024.01.27 |
---|---|
[백준] 11650번 좌표 정렬하기 (파이썬) (0) | 2024.01.27 |
[백준] 19532번 수학은 비대면강의입니다 (파이썬) (0) | 2024.01.19 |
[백준] 2231번 분해합 (파이썬) (0) | 2024.01.19 |
[백준] 2869번 달팽이는 올라가고 싶다(파이썬) (0) | 2024.01.16 |