2024년 4월 16일 알고리즘 문제풀이
문제
난이도
Lv. 2
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def solution(number, k):
stk = []
for num in number:
# stk가 비었으면 넣음
if not stk:
stk.append(num)
continue
if k > 0:
# 지금 주목하는 수가 방금 넣은 수보다 크다면 뺸다.
while stk[-1] < num:
stk.pop()
k -= 1
# 더이상 뺄 것이 없거나 더이상 빼면 안되면 반복문 종료
if not stk or k <= 0:
break
stk.append(num)
# 모두 순회했는데 아직 뺄것이 남았다면 가장 뒤에것만뺀다.
if k:
stk = stk[:-k]
answer = ''.join(stk)
else:
answer = ''.join(stk)
return answer