위 문제를 먼저 이해해보자.
# 12789
import sys
n = int(sys.stdin.readline())
lst = list(map(int, sys.stdin.readline().split()))
cnt = 1
stack = []
while lst:
if lst[0] == cnt:
lst.pop(0)
cnt += 1
else:
stack.append(lst.pop(0))
while stack:
if stack[-1] == cnt:
stack.pop()
cnt += 1
else:
break
if len(stack) == 0:
print("Nice")
else:
print("Sad")
문제가 복잡해 보였지만 생각보다 쉽게 해결이 가능했다. lst[0]을 구하는 코드에서 에러가 발생해 어려움을 겪었지만, while lst: 라는 반복문을 통해 해결 가능했다.