코딩테스트 파이썬/파이썬 프로그래머스 2단계
뒤에 있는 큰 수 찾기
세용용용용
2023. 5. 15. 16:42

나의 코드
def solution(numbers):
answer = [-1]*len(numbers)
stack = []
#numbers의 배열 길이만큼 for문돌림
for i in range(len(numbers)):
#stack에는 numbers인덱스를 저장
#즉, stack에 존재하는 numbers인덱스 보다 numbers[i]이
#더 크게되면
while stack and numbers[stack[-1]] < numbers[i]:
#stack.pop수행하고
#answer에 해당하는 인덱스에 뒷큰수로 치환
answer[stack.pop()] = numbers[i]
stack.append(i)
#print(answer)
return answer
solution([9, 1, 5, 3, 6, 2])