문제 보러 가기 👈 클릭!
def solution(number, k):
stack = []
for num in number:
while stack and k and num > stack[-1]:
stack.pop()
k -= 1
stack.append(num)
return ''.join(stack[:len(stack) - k])
number를 다 반복하는 중간에 k개의 수를 제거했다면 바로 반복문을 종료하며 return하는 조건을 추가함
def solution(number, k):
stack = []
for i, num in enumerate(number):
if not k:
stack.extend(number[i:])
return ''.join(stack)
while stack and k and num > stack[-1]:
stack.pop()
k -= 1
stack.append(num)
return ''.join(stack[:len(stack) - k])
=> 코드는 늘어났지만, 더 빠르다.