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]))
'알고리즘 > 백준' 카테고리의 다른 글
[백준 14502, 17141, 17142][파이썬] 연구소 1, 2, 3 (1) | 2023.01.22 |
---|---|
[백준 2133][파이썬] 타일 채우기 (0) | 2022.07.18 |
[백준 11576][파이썬] Base Conversion (0) | 2022.07.13 |
[백준 10799][파이썬] 쇠막대기 (0) | 2022.07.12 |
[백준 17299][파이썬] 오등큰수 (0) | 2022.07.09 |