일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Tornado
- Framework
- API
- r script
- 프레임워크
- 백준
- 이클립스
- 파이썬
- 설치
- BAEKJOON
- r
- Python
- ubuntu
- AWS
- 오픈한글
- 자바스크립트
- 배열
- 자료형
- 연결
- 토네이도
- MongoDB
- online
- Judge
- OrientDB
- 연동
- Java
- spring
- 알고리즘
- mariadb
- 저지
Archives
- Today
- Total
맛동산
(파이썬)백준 알고리즘 1149번 RGB거리 본문
백준 알고리즘 저지 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중 저렴한걸 따짐
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]))
이걸 많이 푼다고 이런 사고가 생기는 것일까?
아니면 그저 지식 주입을 통한 적용인가
'파이썬 > 알고리즘' 카테고리의 다른 글
(파이썬)백준 알고리즘 1193번 분수찾기 (0) | 2017.05.25 |
---|---|
(파이썬)백준 알고리즘 1152번 단어의 개수 (0) | 2017.05.25 |
(파이썬)백준 알고리즘 1065번 한수 (0) | 2016.12.19 |
(파이썬)백준 알고리즘 1021번 회전하는 큐 (0) | 2016.12.19 |
(파이썬)백준 알고리즘 1008번 A/B (0) | 2016.12.19 |
Comments