알고리즘/백준

[백준 1149][파이썬] RGB거리

2twix2 2022. 7. 17. 11:59

https://www.acmicpc.net/problem/1149

 

1149번: RGB거리

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

www.acmicpc.net

 

import sys

input = sys.stdin.readline

N = int(input())
price_list = []
dp = [[0] * 3 for _ in range(N)]

for i in range(N):
  price_list.append(list(map(int, input().strip().split())))
  
dp[0] = price_list[0]

for j in range(1, N):
  dp[j][0] = price_list[j][0] + min(dp[j-1][1], dp[j-1][2])
  dp[j][1] = price_list[j][1] + min(dp[j-1][0], dp[j-1][2])
  dp[j][2] = price_list[j][2] + min(dp[j-1][0], dp[j-1][1])

print(min(dp[N-1]))