[Python/코테공부] 배열 만들기 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
'Python' 카테고리의 다른 글
[Python/코테공부] 2의 영역 (0) | 2023.11.02 |
---|---|
[Python/코테공부] 세로 읽기 (0) | 2023.11.02 |
[Python/코테공부] 배열 만들기 2 (1) | 2023.10.31 |
[Python/코테공부] 코드 처리하기 (0) | 2023.10.31 |
[Python/코테연습] 더 크게 합치기 (0) | 2023.10.30 |