알고리즘

[Python | 프로그래머스 | Lv_2] 뒤에 있는 큰 수 찾기

deedee2 2024. 8. 24. 15:41
728x90

😉 아이디어

1. 덱 자료구조 활용

2. 덱에 인덱스를 담아두고 다음 순회되는 값이 덱의 가장 최근에 추가된 값보다 큰 경우 _!answer!_ 변수에 담고 반환

😉 풀이 

from collections import deque

def solution(numbers):
    dq = deque()
    answer = [-1] * len(numbers)
    
    for i in range(len(numbers)):
        while dq and numbers[dq[-1]] < numbers[i]:
            answer[dq.pop()] = numbers[i]
        dq.append(i)
    return answer

✔️ 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/154539