일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 설치
- Java
- r script
- 토네이도
- BAEKJOON
- 연동
- spring
- mariadb
- r
- 오픈한글
- online
- 파이썬
- Judge
- OrientDB
- AWS
- Python
- MongoDB
- 저지
- 자바스크립트
- 알고리즘
- Tornado
- Framework
- API
- 배열
- 프레임워크
- 백준
- ubuntu
- 자료형
- 이클립스
- 연결
Archives
- Today
- Total
맛동산
(파이썬)백준 알고리즘 1847번 스택 수열 본문
백준 알고리즘 저지 1874번 문제 (https://www.acmicpc.net/problem/1874)
입력이 저장되는 origin[]과 스택을 나타내는 new[]를 선언
↓
4 3 6 8 7 5 2 1 E
1 2 3 4 5 6 7 8 F D
↑
꼴의 형태로 구상하여 코드 작성
(dummy는 index[0]에서 pop이 일어날경우 new[-1]에서 fin을 만나지 않기 위해 처리)
from sys import stdin origin=[] new=[] result=['+'] for i in range(1,int(stdin.readline())+1): origin.append(int(stdin.readline())) new.append(i) origin.append('end') new.append('fin') new.append('dummy') o_p=0 n_p=0 while True: if origin[o_p]==new[n_p]: result.append('-') new.pop(n_p) o_p+=1 n_p-=1 if origin[o_p]=='end':break else : n_p += 1 if new[n_p]=='fin':break result.append('+') if len(new)==2: for i in result: print(i) else: print('NO')
'파이썬 > 알고리즘' 카테고리의 다른 글
(파이썬)백준 알고리즘 1924번 2007년 (0) | 2017.05.29 |
---|---|
(파이썬)백준 알고리즘 1912번 연속합 (0) | 2017.05.29 |
(파이썬)백준 알고리즘 1463번 1로 만들기 (0) | 2017.05.28 |
(파이썬)백준 알고리즘 1287번 할 수 있다 (0) | 2017.05.28 |
(파이썬)백준 알고리즘 1260번 DFS와 BFS (0) | 2017.05.28 |
Comments