** 알고리즘 오답노트 06

박경준·2021년 6월 14일
0

알고리즘 문제풀이

목록 보기
7/24

스택 수열

  • 틀린 이유 : 문제 이해를 못함;;
stack = []
sequence = []
count = 1
result = []
status = False

n = int(input())
for _ in range(n): # 범위 내 값은 상관없이 횟수만 정하고싶은 for문
  num = int(input())
  while count <= num: # 입력받은 값과 같아질때까지 count를 올려가며 stack에 추가
    stack.append(count)
    result.append('+')
    count += 1
  if stack[-1] == num: # peek값과 입력받은 값이 같으면 pop해주면 되고 다르면 구현 불가능한 수열임
  # (여기서 불가능한 num은 peek값보다 무조건 작은 값임)
  # (더 큰 값이라면 위 while문으로 다시 들어가면 그만임...)
    stack.pop()
    result.append('-')
  else:
    status = True
    
if status:
  print("NO")
else:
  for i in result:
    print(i)
profile
빠굥

0개의 댓글