[알고리즘 문제풀이] 스택 수열

황인권·2023년 3월 3일
0

알고리즘 문제풀이

목록 보기
3/81

문제 제목 : 스택 수열

문제 난이도 : 하

문제 유형 : 스택, 그리디

https://www.acmicpc.net/problem/1874
시간 제한 : 2초
메모리 제한 : 128MB

문제풀이 아이디어

  1. 첫줄에 입력한 n보다 큰 정수가 스택안에 들어가는 일이 없다.
  2. 같은 정수가 두번 나오지 않는다.

< 소스코드 >

n = int(input())

count = 1
stack = []
result = []

for i in range(1, n+1):
    data = int(input())
    while count <= data:
        stack.append(count)
        count += 1
        result.append('+')
    if stack [-1] == data: # 스택 최상위값과 비교
        stack.pop()
        result.append('-')
    else:
        print('NO')
        exit(0)

print('\n'.join(result))
profile
inkwon Hwang

0개의 댓글