D4
<λ¬Έμ λ λ¬Έμ μΌ λΏμ΄μΌ..κ³Όλͺ°μ νμ§λ§μ!>
problem
SW Expert Academy λ¬μμ κ΅κΈ° κ°μ κΉλ°
SW Expert Academy
SW νλ‘κ·Έλλ° μλ κ°νμ λμμ΄ λλ λ€μν νμ΅ μ»¨ν μΈ λ₯Ό νμΈνμΈμ!
swexpertacademy.com
Solution
1. ν°μ, νλμ, λΉ¨κ°μμ λ²μλ₯Ό λ°λμ λλ μΌνλ©°, μ΄ μ€ λ³κ²½ν κ³³μ μ΅μκ°μ μ°Ύλλ€.
2. λ²μλ₯Ό μμ νμμ ν΅ν΄ νλμ© μμ ν κ³³μ νμΈνμ¬ μ΄ μ€ μ΅μκ°μ μ°Ύλλ€.
Code
def color(i,j,N):
# White λ²μ = 0 ~ i
# Blue λ²μ = i+1 ~ j
# Red λ²μ = j+1 ~ N-1
white = blue = red = 0 # κ°κ°μ κ°μ(νλλ‘ λ¬Άμ΄λ λ)
# white
for k in range(i+1):
for l in range(M):
if flag[k][l] != 'W': # ν°μμΌλ‘ λ°κΏμΌν κ³³ μΉ΄μ΄ν
white += 1
for k in range(i+1, j+1):
for l in range(M):
if flag[k][l] != 'B': # νλμμΌλ‘ λ°κΏμΌν κ³³ μΉ΄μ΄ν
blue += 1
for k in range(j+1, N):
for l in range(M):
if flag[k][l] != 'R': # λΉ¨κ°μμΌλ‘ λ°κΏμΌν κ³³ μΉ΄μ΄ν
red += 1
return white + blue + red # μΉ΄μ΄ν
μ΄ν©
for test_case in range(1, int(input())+1):
N, M = map(int, input().split())
flag = [input() for _ in range(N)]
min_val = N*M
for i in range(N-2): # μμ νμ(λ²μλ₯Ό νμ)
for j in range(i+1, N-1):
res = color(i,j,N) # κ°μ νμΈ
if min_val > res: # μ΅μ κ° νμΈ
min_val = res
print(f'#{test_case} {min_val}')
<λΆμ‘±ν μ μ λκΈλ‘ λ¨κ²¨μ£Όμλ©΄ μ μκ² λμμ΄ λ©λλ€!>
<κ·Έλ¦Ό μΆμ²: SWEA λ¬μμ κ΅κΈ° κ°μ κΉλ°>
λ°μν
'π STUDY > μλ£κ΅¬μ‘° & μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| 1717. μ§ν©μ νν (2) | 2024.01.07 |
|---|---|
| 13994. μλ‘μ΄ λ²μ€ λ Έμ (0) | 2023.03.06 |
| 1210. [S/W λ¬Έμ ν΄κ²° κΈ°λ³Έ] 2μΌμ°¨ - Ladder1 (0) | 2023.03.06 |
| 1954. λ¬ν½μ΄ μ«μ (0) | 2023.03.06 |
| 1961. μ«μ λ°°μ΄ νμ (0) | 2023.03.05 |
