스택 수열 1874
스택 수열
1874
https://www.acmicpc.net/problem/1874
난독을 불러일으키는 문제
스택에 12345.. 순서로 Push하거 스택 Pop할 수 있는데 이 방법으로 주어진 수열을 만들 수 있냐는 문제였다.
```python
#1874
n=int(input())
num_lst=[]
for i in range(1,n+1):
num_lst.append(int(input()))
# num_lst.reverse()
push_pop_lst=[]
stack=[]
increasing_num=1
is_fail=False
for num in num_lst:
# print(num, stack,push_pop_lst)
if len(stack)==0:
stack.append(increasing_num)
push_pop_lst.append("+")
increasing_num+=1
while stack[-1]!=num:
if increasing_num>n:
is_fail=True
break
push_pop_lst.append("+")
stack.append(increasing_num)
increasing_num+=1
if is_fail:
print("NO")
break
stack.pop()
push_pop_lst.append("-")
if not is_fail:
for plus_min in push_pop_lst:
print(plus_min)
```
댓글
댓글 쓰기