최종 제출 코드
n = int(input())
array = [0,0,0]
for j in range(n):
a, b, c = map(int, input().split())
ele1 = min(array[1]+a, array[2]+a)
ele2 = min(array[0]+b, array[2]+b)
ele3 = min(array[0]+c, array[1]+c)
array[0] = ele1
array[1] = ele2
array[2] = ele3
print(min(array))
◼ 최적 경로를 찾는 것과 유사한 문제
array[0]은 직전에 r이 아닌 다른 색으로 칠해진 경로 중 이번에 r로 칠할 경우의 비용을 구하고 그 중 최소값을 원소로 저장한다.array[1]은 g로 칠할 경우, array[2]는 b로 칠할 경우의 최소값을 원소로 저장한다.