λ°±μ€ 1149 νμ΄μ¬ - RGB거리 - λμ κ³νλ²
λ°±μ€ 1149 νμ΄μ¬
https://www.acmicpc.net/problem/1149
μ΄λ² λ¬Έμ λ 2μ°¨μ λ°°μ΄μμ μλ€λ‘ μΈλ±μ€ λ²νΈκ° λ€λ₯΄κ²ν΄μ ν©μ°νκ² κ°μ₯ μ μ κ°μ ꡬνλ λ¬Έμ μ΄λ€.μ΄λ° μ΅μλ μ΅λκ°μ ꡬνλ λ¬Έμ λ κ°μ₯ λ¨Όμ λμ κ³νλ²μ΄ λ μ€λ₯Έλ€. κ·Έλ°λ°... λ§μ½... κ°μ₯ μ μ λΉμ©λ§ μ μ₯νκ² λ€λ μκ°μ μ€μ μ λλ©΄... μλμ κ°μ μμΈμ¬νμ΄ λ°μν μ μλ€.
μ΄μ μ κ°μ₯ μ μ λΉμ©λ§ κ³ λ €νλ©΄.... μμ κ°μ΄ λΉμ©μ΄ κ°μ κ²½μ°... νμ¬ μ§μμ μ΄μ μ μ΄λ€ μμ μΉ νλμ§... ꡬλΆν΄μΌνλ λ¬Έμ κ° μκΉλλ€. κ·Έλμ νμ¬ μ§μμ κ°κ° μμ μΉ νμ λμ κ°μ₯ μ μ λΉμ©μ μ μ₯ν΄μ μ¬μ¬μ©νλ κ²μ μ€μ μΌλ‘ λ¬μΌνλ€.
Python νμ΄
import sys
read = sys.stdin.readline
N = int(read())
cache =[list(map(int, read().split())) for _ in range(N)]
for i in range(1, N):
cache[i][0] += min(cache[i-1][1], cache[i-1][2])
cache[i][1] += min(cache[i-1][0], cache[i-1][2])
cache[i][2] += min(cache[i-1][0], cache[i-1][1])
print(min(cache[-1]))
- μ£Όμ΄μ§λ μ§κ³Ό μμΉ νλ λΉμ©μ 미리 λ°°μ΄λ‘ λ§λ€μ΄ λλλ€.
- μ΄μ μ§μ μμΉ νμ λμ μ΅μκ°μ κ°κ³ μ€λλ°... νμ¬ μμ μ μΈνκ³ λλ¨Έμ§ λκ°μ μμ λΉμ© μ€ μ΅μκ°μ κ°κ³ μ¨λ€.
- μ΄λ¬λ©΄ μ§μμ κ°κ° μμ μΉ νμ λμ μ΅μκ°μ΄ λ°°μ΄λ‘ μ μ₯λλ€.
- λ§μ§λ§ μ΄μμ κ°μ₯ μ΅μκ°μ΄ μ΅μ’ μ μΌλ‘ μ»μ μ μλ μ΅μκ°μ΄ λλ€.