[Boj] 백준 스택수열 1874(python)
문제링크 : https://www.acmicpc.net/problem/1874
첫 줄에 입력할 줄 수인 N이 주어지고, 각 줄마다 숫자가 주어지는데 이를 스택 연산으로 가능한지 판별하는 문제
먼저 입력된 숫자까지 Stack에 담은 후, 입력된 숫자 + 1을 따로 저장하여 다음부터 스택에 쌓을 수 있게 함
그 후 pop 연산을 실행가능하다면 pop 연산을 수행하고, 아니라면 NO를 출력하면 됨
import sys
N = int(input())
stack = []
answer = []
num = 1
for _ in range(N):
number = int(sys.stdin.readline())
if num <= number:
for i in range(num, number+1):
stack.append(i)
answer.append('+')
num = number+1
if number == stack.pop():
answer.append('-')
else:
print('NO')
answer = []
break
for ans in answer:
print(ans)
댓글남기기