흰 스타렉스에서 내가 내리지

[BOJ] (DP) 1149번 RGB거리 본문

Problem Solving

[BOJ] (DP) 1149번 RGB거리

주씨. 2022. 2. 17. 14:01
728x90

 

 

 

다이나믹 프로그래밍을 구현하는데, dp배열은 꼭 1차원배열이 아니라 2차원 배열도 가능하다는 점을 염두해두면 좋겠다.

n = int(input())
cost = []
for _ in range(n):
    cost.append(list(map(int, input().split())))
    
dp = [[0]*3 for _ in range(n)]
dp[0] = cost[0]

for i in range(1, n):
    dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + cost[i][0]
    dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + cost[i][1]
    dp[i][2] = min(dp[i-1][0], dp[i-1][1]) + cost[i][2]
    
print(min(dp[n-1]))

 

 

 

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