코딩테스트/백준
[백준] 1874번 스택 수열 / 파이썬(python)
Jiwon_C
2021. 3. 24. 01:32
# 문제 링크
1874번: 스택 수열
1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다.
www.acmicpc.net
# Soultion
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
|
#스택수열
n = int(input())
input_stack = []
for _ in range(n):
input_stack.append(int(input()))
input_stack.reverse()
box = []
output_stack = []
for i in range(1,n+1):
box.append(i)
output_stack.append('+')
if box and box[-1]==input_stack[-1]:
while(box[-1]==input_stack[-1]):
output_stack.append('-')
input_stack.pop()
box.pop()
if not box:# 박스가 비었으면 종료
break
if box:
print("NO")
else:
print('\n'.join(output_stack))
|
cs |