Solution:
def solution(number,k):
stack=[] # 새로운 값을 담을 통 필요
for i in number:
# 스택이 비지않고, 제거 횟수 남아야 하고, 스택의 마지막 숫자가 현재 수(i)보다 작다면
while stack and k>0 and stack[-1] <i:
stack.pop()
k=k-1
stack.append(i)
if k>0:
stack=stack[:-1]
stack=''.join(stack)
else:
stack=''.join(stack)
return stack
Skills:
- 'stack의 가장 최근값' 과 '새롭게 추가될 값' 의 비교방식을 생각해 내야함.
- 조건문은 if와 while문 2가지임
- while 문 : 반복 + 조건
- if 문 : 조건
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 타겟 넘버 | 파이썬 (0) | 2025.05.22 |
---|---|
[프로그래머스] LV2 구명보트 | 파이썬 (0) | 2025.05.21 |
[프로그래머스] LV2 조이스틱 | 파이썬 (0) | 2025.05.12 |
[프로그래머스] LV2 [PCCP 기출문제] 2번 석유 시추 | 파이썬 (0) | 2025.05.12 |
[프로그래머스] LV2 카펫 | 파이썬 (0) | 2025.05.12 |