맛동산

(파이썬)백준 알고리즘 1149번 RGB거리 본문

파이썬/알고리즘

(파이썬)백준 알고리즘 1149번 RGB거리

오지고지리고알파고포켓몬고 2017. 5. 25. 12:32

백준 알고리즘 저지 1065번 문제 (https://www.acmicpc.net/problem/1149)

 

 

i = 0일때 비용으로 초기화

i = 1~n일때 0번 인덱스 - R+(i-1[1]), R+(i-1[2]) 의 대소관계에 따라 세팅, 1번은 G+(i-1[0]) G+(i-1)[2], 2번은 B+(i-1)[1] B+(i-1)[1]

 

뭔가 현재를 기준으로 과거의 케이스를 반영하는게 RNN의 원리 같은 느낌

 

i=0에서 R을 택했을때 i=1에서 G를 택하냐 B를 택하냐가 아니라

i=1에서 R이 있을때 i=0에서 G와 B중 저렴한걸 따짐

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
·¬
a=[]¬
N=int(input())¬
for·i·in·range(N):¬
····a.append([0,0,0])¬
for·i·in·range(N):¬
····if·i==0:¬
········a[0]=list(map(int,input().split()))¬
····else:¬
········r,g,b=map(int,input().split())¬
········if·r+a[i-1][1]·>·r+a[i-1][2]:·a[i][0]=r+a[i-1][2]¬
········else:a[i][0]=r+a[i-1][1]¬
¬
········if·g+a[i-1][0]·>·g+a[i-1][2]:·a[i][1]=g+a[i-1][2]¬
········else:a[i][1]=g+a[i-1][0]¬
¬
········if·b+a[i-1][0]·>·b+a[i-1][1]:·a[i][2]=b+a[i-1][1]¬
········else:a[i][2]=b+a[i-1][0]¬
¬
print(min(a[N-1]))¬
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

이걸 많이 푼다고 이런 사고가 생기는 것일까?

아니면 그저 지식 주입을 통한 적용인가

Comments