본문 바로가기
  • AI 개발자가 될래요
Python

[Python/코테공부] 배열 만들기 4

by 꿀개 2023. 10. 31.

[Python/코테공부] 배열 만들기 4

배열만들기4

 

나의 풀이

def solution(arr):
    stk = []
    i = 0
    
    while i < len(arr):
        if len(stk) > 0:
            if arr[i] > stk[-1]:
                stk.append(arr[i])
                i += 1
            else:
                stk.pop()
        else:
            stk.append(arr[i])
            i += 1
        
    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

 

반복문의 조건 설정을 매우 잘했다.

 

테스트 결과

다른 사람 풀이 테스트 결과

 

시간 측면에서 더 효율적이다.

 

* 문제 출처 프로그래머스

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

 

프로그래머스

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

programmers.co.kr