[백준/BOJ] 1874번 스택 수열
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
이 문제도 기본적인 스택문제여서 금방 풀 수 있었다.
다만 append와 pop을 많이해서 그런지 실행 시간은 조금 오래 걸렸다.
Python code
더보기
n=int(input())
n_nums=[0]*n
for i in range(n):
n_nums[i]=int(input())
stack=[]
process=[]
idx=0
for i in range(1,n+1):
stack.append(i)
process.append("+")
while stack and idx<n:
temp=stack.pop()
if n_nums[idx]!=temp:
stack.append(temp)
break
process.append("-")
idx+=1
if stack:
print("NO")
else:
for p in process:
print(p)
'baekjoon' 카테고리의 다른 글
[백준/BOJ] 1966번 프린터 큐 (Python) (0) | 2021.03.06 |
---|---|
[백준/BOJ] 1158번 요세푸스 문제 (Python) (0) | 2021.03.06 |
[백준/BOJ] 9012번 괄호 (Python) (0) | 2021.03.06 |
[백준/BOJ] 1202번 보석 도둑 (Python) (0) | 2021.03.06 |
[백준/BOJ] 1566번 가운데를 말해요 (Python) (0) | 2021.03.06 |