공부, 기록

백준 1149. RGB거리 파이썬(PYTHON) 본문

코딩

백준 1149. RGB거리 파이썬(PYTHON)

무는빼주세요 2020. 11. 14. 14:56

문제링크 : www.acmicpc.net/problem/1149

 

1149번: RGB거리

첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나

www.acmicpc.net

 

def min(a, b):
    return a if a <= b else b

n = int(input())
matrix = [[0] * 3 for i in range(n)]

for i in range(n):
    matrix[i][0], matrix[i][1], matrix[i][2] = map(int, input().split())

matrix2 = [[0] * 3 for i in range(n)]

for i in range(n):
    if i == 0:
        matrix2[i] = matrix[i]
    else:
        matrix2[i][0] = matrix[i][0] + min(matrix2[i - 1][1], matrix2[i - 1][2])
        matrix2[i][1] = matrix[i][1] + min(matrix2[i - 1][0], matrix2[i - 1][2])
        matrix2[i][2] = matrix[i][2] + min(matrix2[i - 1][0], matrix2[i - 1][1])

print(min(min(matrix2[n - 1][0], matrix2[n - 1][1]), matrix2[n - 1][2]))