Algorithm

[프로그래머스] 배열 만들기 4 - 파이썬

potato_pizza 2024. 3. 14. 14:27
728x90

Programmers

배열 만들기 4

https://school.programmers.co.kr/learn/courses/30/lessons/181918

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제

코드

<풀이>

def solution(arr):
    stk = []
    i = 0
    while i < len(arr):
        if len(stk) == 0: 
            stk.append(arr[i])
            i += 1
        elif len(stk) > 0 and stk[-1] < arr[i]:
            stk.append(arr[i])
            i += 1
        elif len(stk) > 0 and stk[-1] >= arr[i]:
            stk.pop()
    return stk

 

<다른 풀이>

def solution(arr):
    stk = []
    for i in range(len(arr)):
        while stk and stk[-1] >= arr[i]:
            stk.pop()
        stk.append(arr[i])
    return stk

Reference

728x90
반응형