Programmers/코딩 기초 트레이닝

[프로그래머스] 배열 만들기 4

jjam-mo 2024. 2. 19. 10:59

 

처음에 while도 사용하고 for도 사용했다. 그렇게 사용했더니 아예 빈 리스트가 출력되었다...

 

아마 while과 for 중 하나만 사용해야했던 것 같다.

 

while문을 사용했을 때 편할 것 같아서 while문을 사용했다.

 

<내가 쓴 코드>

def solution(arr):
    stk = []
    i = 0							#i는 0으로 변수 설정
    while i < len(arr):				#i가 arr의 길이보다 작으면 반복 진행
        a = arr[i]					
        if stk == []:				#stk가 비어있다면
            stk.append(a)			#arr[i]를 추가
            i += 1					#i에 1을 더한다
        elif stk[-1] < a:			#stk의 마지막 원소가 arr[i]보다 작으면
            stk.append(a)			#stk에 arr[i]를 추가해라
            i += 1
        elif stk[-1] >= a:			#stk의 마지막 원소가 arr[i]보다 크거나 같으면
            stk.remove(stk[-1])		#stk 마지막 원소를 삭제해라
    return stk