Skip to content

Commit 8745f76

Browse files
committed
[BOJ] #1872. 스택 수열 / 실버2 / 40분 / 힌트,성공
1 parent 247fd47 commit 8745f76

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import sys
2+
from collections import deque
3+
4+
input = sys.stdin.readline
5+
6+
n = int(input()) # 수열의 길이
7+
stack = deque([]) # 스택 초기화
8+
answer = deque([]) # 연산 기록
9+
flag = True # 수열을 만들 수 있는지 확인하는 플래그
10+
current = 1 # 현재 push할 숫자
11+
12+
# n번 반복하며 수열 입력
13+
for _ in range(n):
14+
num = int(input())
15+
16+
# 현재 숫자가 수열의 값에 도달할 때까지 push
17+
while current <= num:
18+
stack.append(current)
19+
answer.append("+")
20+
current += 1
21+
22+
# 스택 최상단이 수열의 값과 일치하면 pop
23+
if stack[-1] == num:
24+
stack.pop()
25+
answer.append("-")
26+
else:
27+
# 만들 수 없는 경우
28+
flag = False
29+
30+
# 결과 출력
31+
if flag:
32+
for a in answer:
33+
print(a)
34+
else:
35+
print("NO")

0 commit comments

Comments
 (0)