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
# 1874 - Python 3
import sys
from collections import deque
input = sys.stdin.readline
s = deque()
answer = []
flag = 0
count = 1
for _ in range(int(input())):
num = int(input())
while count <= num: # count가 num을 만날 때 까지 push 진행
s.append(count)
answer.append("+")
count += 1
if s[-1] == num: # s의 마지막 요소가 num인 경우
answer.append("-")
s.pop()
else: # s의 마지막 요소가 num이 아닌 경우
flag = 1 # 오류, 수열 만들 수 없음
break
if flag == 1:
print("NO")
else:
for i in answer:
print(i)'코딩' 카테고리의 다른 글
| [Python] 백준 #11005. 진법 변환 2 (0) | 2023.09.14 |
|---|---|
| [Python] 백준 #2745. 진법 변환 (0) | 2023.06.20 |
| [Python] 백준 #7785. 회사에 있는 사람 (0) | 2023.03.31 |
| [Python] 백준 #4949. 균형잡힌 세상 (0) | 2023.03.31 |
| [Python] 백준 #9012. 괄호 (0) | 2023.03.30 |