오랜만에 백준을 풀어보았다...
완탐은 아닌거같아서 dp인거 같아서 풀어보려고했는데, dp 개념이 흔들렸다.
박사님께서 한 번 명료하게 설명해주셔서 풀 수 있었다.
파이썬 반복문은 느리다. 앞으로, 반복문을 최대한 줄이자.
3개밖에 안되니, 풀어서 해도 상관없었다.
많이 부족하니, 시간날때마다 한 번씩 풀어보자.
다음부터는 입력은 되도록 sys.stdin.readline()으로 받자
import math
import sys
n = int(input(''))
arr = [list(map(int,(input('').split(' ')))) for _ in range(n)]
sum_arr = [list(math.inf for _ in range(3)) for _ in range(n)]
sum_arr[0] = arr[0]
min_idx = arr[0].index(min(arr[0]))
for i in range(1,n):
for j in range(3):
temp = math.inf
for k in range(3):
if j != k:
sum_arr[i][j] = min(sum_arr[i-1][k]+arr[i][j],temp)
if sum_arr[i][j] < temp:
temp = sum_arr[i][j]
res = min(sum_arr[-1])
print(res,end='')