📝 문제
✔️ 나의 풀이
def solution(arr):
stk = []
# i 초기값을 0으로 설정
i = 0
# i가 arr 길이보다 작으면
while i < len(arr):
# stk가 빈 배열 혹은 stk 마지막 원소 < arr[i]일 때,
if not stk or stk[-1] < arr[i]:
stk.append(arr[i])
i += 1
# stk 마지막 원소 > arr[i]일 때,
else:
stk.pop()
return stk
🔎 다른 사람의 풀이
def solution(arr):
stk = []
i = 0
while i < len(arr):
if not stk:
stk.append(arr[i])
i += 1
else:
if stk[-1] < arr[i]:
stk.append(arr[i])
i += 1
else:
stk.pop()
return stk
✏️ 배운점
문제에 제시된 그대로 코딩을 하면 쉽게 풀 수 있었다.
마지막 원소 제거시 pop()을 통해 제거한다.
보편적인 답안과 거의 일치한다.
반응형
'Codingtest' 카테고리의 다른 글
[프로그래머스][파이썬] #08. 부분 문자열 이어 붙여 문자열 만들기 (0) | 2023.07.28 |
---|---|
[프로그래머스][파이썬] #07. 문자열 여러 번 뒤집기 (0) | 2023.07.27 |
[프로그래머스][파이썬] #05. 수열과 구간 쿼리 2 (0) | 2023.07.21 |
[프로그래머스][파이썬] #04. 수 조작하기2 (0) | 2023.07.21 |
[프로그래머스][파이썬] #03. 등차수열의 특정한 항만 더하기 (0) | 2023.07.19 |