(스택) 스택 수열

2020. 3. 3. 15:54개발노트

이 문제의 저작권은 BAEKJOON에 있습니다.

 

https://www.acmicpc.net/problem/1874

문제는 위 링크에서 확인할 수 있습니다.

 

#https://www.acmicpc.net/problem/1874

r = int(input())
stack =[]
chk = []
result = []
# 기본 세팅
for i in range(r) :
    chk.append(int(input()))
idx = 0
for i in range(1,r+1) :
    stack.append(i)
    result.append("+")

    while idx < r and  len(stack) != 0 and chk[idx] == stack[-1] :
        stack.pop()
        result.append("-")
        idx = idx + 1

if not stack :
    for i in result :
        print(i)
else :
    print("NO")

push연산은 +로, pop 연산은 -로 출력하고, 불가능한 경우 NO를 출력합니다.