본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

뒤에 있는 큰 수 찾기

by 세용용용용 2023. 5. 15.

 

나의 코드

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

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

롤케이크 자르기  (0) 2023.05.20
다리를 지나는 트럭  (0) 2023.05.20
숫자 변환하기  (1) 2023.05.17
2개 이하로 다른 비트  (0) 2023.05.16
2 x n 타일링  (0) 2023.05.15