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
import sys
def run(N, a):
res = []
i, st = 1, [] # 스택
for x in a:
while x >= i:
st.append(i)
res.append("+")
i += 1
if st[-1] == x:
st.pop()
res.append("-")
else:
return ["NO"]
return res
N = int(input())
a = [int(sys.stdin.readline()) for _ in range(N)]
ans = run(N, a)
[print(x) for x in ans] # print("\n".join(ans))
'BOJ 알고리즘 (패캠) > 자료구조, 구현' 카테고리의 다른 글
10930번: SHA-256 (구현, 해시, hashlib) - Fastcampus (0) | 2020.10.04 |
---|---|
5397번: 키로거 (구현, 스택) - Fastcampus (0) | 2020.10.04 |
1966번: 프린터큐 (구현, 큐) - Fastcampus (0) | 2020.10.04 |
2798번: 블랙잭 (구현, 반복) - Fastcampus (0) | 2020.10.04 |
2920번: 음계 (구현, 반복) - Fastcampus (0) | 2020.10.04 |