백준
백준 1874번: 스택 수열
2호0
2023. 2. 3. 18:55
https://www.acmicpc.net/problem/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
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
26
27
28
29
30
|
n = int(input())
a = [0]*n
for i in range(n):
a[i] = int(input())
stack = []
num = 1
result = True
answer = ""
for i in range(n):
temp = a[i]
if temp >= num:
while temp >= num:
stack.append(num)
answer += "+\n"
num+=1
stack.pop()
answer += "-\n"
else:
s = stack.pop()
if s > temp:
print("NO")
result = False
break
else:
answer += "-\n"
if result:
print(answer)
|
cs |