

문제 분석
- input : 배열 arr → return : 배열 stk
- 변수 i를 만들어 초기값 0으로 설정 후
- i < len(arr) 이면
>> 종료조건 : i >= len(arr)
- len(stk) == 0 → stk.append(arr[i]) and i+=1
- len(stk) != 0 and stk[-1] < arr[i] → stk.append(arr[i]) and i+=1
- len(stk) != 0 and stk[-1] >= arr[i] → stk.pop( )
코드 설계
문제 그대로..
정답 코드
def solution(arr):
stk = []
i=0
while (i < len(arr)) :
if len(stk) == 0 :
stk.append(arr[i])
i += 1
continue
elif len(stk) != 0 and stk[-1] < arr[i] :
stk.append(arr[i])
i += 1
continue
elif len(stk) != 0 and stk[-1] >= arr[i] :
stk.pop()
continue
return stk
다른 사람 풀이
def sol(arr):
stk = []
for i in range(len(arr)) :
while stk and stk[-1] > arr[i] :
stk.pop()
stk.append(arr[i])
return stk
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[Python] 프로그래머스 주사위 게임 3 (1) | 2024.10.07 |
---|---|
[Python] 프로그래머스 간단한 논리 연산 (0) | 2024.10.07 |
[Python] 프로그래머스 콜라츠 수열 만들기 (0) | 2024.10.01 |
[Python] 프로그래머스 카운트 업 (0) | 2024.10.01 |
[Python] 프로그래머스 배열 만들기 2 (0) | 2024.09.20 |