세용용용용 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])