SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
def check(start, end, color):
global cnt
for r in range(start, end):
for c in range(M):
if arr[r][c] != color: # 해당컬러 아니어서 칠해야되는 개수
cnt += 1
T = int(input())
for tc in range(1, T + 1):
N, M = map(int, input().split())
arr = [input() for _ in range(N)]
min_v = 2500
for i in range(N - 2): # W구역 맨밑. 세구역이므로 -2 해줘야됨
for j in range(i + 1, N - 1): # B구역 맨밑. W구역 다음부터(+1) R구역 남겨야되니까 -1
cnt = 0 # 어차피 셋다 더해야하니 cnt 변수 하나로 통일
check(0, i + 1, 'W') # <0~i+1~j+1~N> 이렇게 세 분기점
check(i + 1, j + 1, 'B')
check(j + 1, N, 'R')
if min_v > cnt: # 최솟값 갱신
min_v = cnt
print(f'#{tc} {min_v}')
'swea' 카테고리의 다른 글
2805. 농작물 수확하기 (0) | 2023.08.27 |
---|---|
1926. 간단한 369게임 (0) | 2023.08.27 |
7087. 문제 제목 붙이기 (0) | 2023.08.25 |
16811. 당근 포장하기 (0) | 2023.08.22 |
1289. 원재의 메모리 복구하기 (0) | 2023.08.21 |