2019.02.11) 백준 1149번 풀이 (PyPy3)

2019. 2. 11. 22:34프로그래밍(주력)/백준 문제풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 입력값
= list()
# 합용
l2 = list()
for i in range(int(input())):
    l.append(list(map(int, input().split(' '))))
 
# 첫번째 합은 당연히 그대로
l2.append(l[0])
 
for i in range(1len(l)):
    l2.append(list())
    # 이웃하지 않은 것들중 2개중 작은것을 더함 그걸 R스타트 G스타트 B스타트 다 나눠서 3갈래로 저장
    l2[i].append(l2[i-1][2+ l[i][0if l2[i-1][1> l2[i-1][2else l2[i-1][1+ l[i][0])
    l2[i].append(l2[i - 1][0+ l[i][1if l2[i - 1][2> l2[i - 1][0else l2[i-1][2+ l[i][1])
    l2[i].append(l2[i - 1][1+ l[i][2if l2[i - 1][0> l2[i - 1][1else l2[i-1][0+ l[i][2])
 
# 최솟값 뽑기로 간단히 출력
print(min(l2[-1]))
cs