백준 문제 링크
RGB거리
- 0번 열은 바로 그 위 행의 1번, 2번 열의 값 중 작은 값을 더한다.
1번 열은 바로 그 위 행의 0번, 2번 열의 값 중 작은 값을 더한다.
2번 열은 바로 그 위 행의 1번, 0번 열의 값 중 작은 값을 더한다.- 마지막 행에서 가장 작은 값을 반환하면 끝!
N = int(input())
RGB = []
for _ in range(N):
RGB.append(list(map(int, input().split())))
DP = [[0] * 3 for _ in range(N)]
for i in range(1, N):
RGB[i][0] = RGB[i][0] + min(RGB[i-1][1], RGB[i-1][2])
RGB[i][1] = RGB[i][1] + min(RGB[i-1][0], RGB[i-1][2])
RGB[i][2] = RGB[i][2] + min(RGB[i-1][1], RGB[i-1][0])
print(min(RGB[N-1]))