https://school.programmers.co.kr/learn/courses/30/lessons/154539
1) numbers를 뒤에서 부터 for문을 돌리는데, 이 때 스택에 numbers의 원소를 같이 삽입한다.
2) 첫 번째 원소는 무조건 -1, 아닐 경우에는 스택에서 값을 꺼내 현재 numbers의 원소와 값을 비교해서 큰 값이면 꺼낸 값을 answer에 넣고, 다시 스택에 넣는다.
3) while문이 다 돌 때까지 값을 못 찾으면 무조건 -1을 넣는다.
4) 역순으로 answer를 리턴한다
def solution(numbers):
answer = []
st = []
for idx,number in enumerate(numbers[::-1]):
if idx == 0:
answer.append(-1)
else:
while st:
max_num = st.pop()
if max_num > number:
answer.append(max_num)
st.append(max_num)
break
else:
answer.append(-1)
st.append(number)
return answer[::-1]