IT보안관의 공부 클라우드
[백준 1874]스택 수열 본문
https://www.acmicpc.net/problem/1874
import sys
input = sys.stdin.readline
n = int(input())
stack1=[i for i in range(n+1,0,-1)]
stack2=[]
arr=[]
for i in range(n):
arr.append(int(input()))
answer=''
for i in arr:
# print("IIIIII",i)
if i not in stack1 and i not in stack2:
answer = 'NO'
break
if i in stack1:
while True:
data = stack1.pop()
# print("phase1", data)
stack2.append(data)
answer+="+"
# print(answer)
if data == i:
break
if i in stack2:
while True:
data = stack2.pop()
# print("phase2",data)
answer+='-'
# print(answer)
if data == i:
break
if answer == 'NO': print("NO")
else:
for i in answer:
print(i)
스택과 리스트를 이용해서 풀어 봄.
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준 1193]분수찾기 (0) | 2022.08.22 |
---|---|
[백준 2941]크로아티아 알파벳 (0) | 2022.08.18 |
[백준 16194]카드 구매하기2 (0) | 2022.07.09 |
[백준 9095]1, 2, 3 더하기 (0) | 2022.07.09 |
[백준 12865]평범한 배낭 (0) | 2022.07.07 |
Comments