문제출처 https://swexpertacademy.com/main/code/problem/problemSubmitHistory.do?contestProbId=AWQl9TIK8qoDFAXj |
4613. 러시아 국기 같은 깃발 D4 파이썬
2016년은 삼/성/전/자/가 러시아 현지법인을 설립한지 20주년이 된 해이다. 이를 기념해서 당신은 러시아 국기를 만들기로 했다.
먼저 창고에서 오래된 깃발을 꺼내왔다. 이 깃발은 N행 M열로 나뉘어 있고, 각 칸은 흰색, 파란색, 빨간색 중 하나로 칠해져 있다.
당신은 몇 개의 칸에 있는 색을 다시 칠해서 이 깃발을 러시아 국기처럼 만들려고 한다. 다음의 조건을 만족해야 한다.
-
위에서 몇 줄(한 줄 이상)은 모두 흰색으로 칠해져 있어야 한다.
-
다음 몇 줄(한 줄 이상)은 모두 파란색으로 칠해져 있어야 한다.
-
나머지 줄(한 줄 이상)은 모두 빨간색으로 칠해져 있어야 한다.
이렇게 러시아 국기 같은 깃발을 만들기 위해서 새로 칠해야 하는 칸의 개수의 최솟값을 구하여라.
첫 번째 예제이다. 왼쪽에 있는 그림이 입력이다. 중간에 있는 그림에 X가 적힌 칸들을 새롭게 색칠하여 오른쪽에 있는 그림과 같은 깃발을 만들면 최적이다.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 두 정수 N,M(3≤N,M≤50)이 공백으로 구분되어 주어진다.
다음 N개의 줄에는 M개의 문자로 이루어진 문자열이 주어진다. i번 째 줄의 j번째 문자는 깃발에서 i번째 행 j번째 열인 칸의 색을 의미한다.
‘W’는 흰색, ‘B’는 파란색, ‘R’은 빨간색을 의미한다. ‘W’, ‘B’, ‘R’외의 다른 문자는 입력되지 않는다.
2 4 5 WRWRW BWRWB WRWRW RWBWR 6 14 WWWWWWWWWWWWWW WWRRWWBBBBBBWW WRRRWWWBWWWWRB WWBWBWWWBWRRRR WBWBBWWWBBWRRW WWWWWWWWWWWWWW |
[출력]
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 러시아 국기 같은 깃발을 만들기 위해서 새로 칠해야 하는 칸의 개수의 최솟값을 구하여 T 줄에 걸쳐서 출력한다.
#1 11 #2 44 |
<PASS> for 문으로 경우를 전부 구하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# 2020.03.12.목
# 4613 러시아국기같은 깃발 D4
# [배열] for 문으로 찾기
for tc in range(1,int(input())+1):
n,m = map(int,input().split()) # 행렬의 크기 3~50
arr = [list(input()) for _ in range(n)]
mymin = n*m
# 1 for문으로 경우 전부 계산
one_cnt = 0
for w in range(0,n-2): # 화이트
for k in range(0,m):
if arr[w][k] != 'W':
one_cnt += 1
two_cnt = 0
for b in range(w+1,n-1): # 블루
for k in range(0,m):
if arr[b][k] != 'B':
two_cnt += 1
three_cnt = 0
for r in range(b+1,n): # 레드
for k in range(0,m):
if arr[r][k] != 'R':
three_cnt += 1
cnt = one_cnt + two_cnt + three_cnt
if mymin > cnt:
mymin = cnt
print(f'#{tc} {mymin}')
|
'코딩테스트 \파이썬\자바 > SWEA D4' 카테고리의 다른 글
[SWEA] 5122. [파이썬 S/W 문제해결 기본] 7일차 - 수열 편집 D4 파이썬 (0) | 2020.04.12 |
---|---|
[SWEA] 5120. [파이썬 S/W 문제해결 기본] 7일차 - 암호 D4 파이썬 (0) | 2020.04.10 |
[SWEA][D4] 4408. 자기방으로 돌아가기 D4 파이썬 (0) | 2020.03.10 |
[SWEA][D4] 3347. 올림픽 종목 투표 D4 파이썬 (0) | 2020.03.09 |
[SWEA][D4] 2819. 격자판의 숫자 이어 붙이기 DFS 파이썬 (0) | 2020.03.05 |