728x90
반응형
그리디 알고리즘 & 스택 문제이다. 스택을 활용하지 않으면 시간 초과가 나온다.
제일 큰 수로 만들려면 앞에 있는 작은 수부터 없애버려야 한다는 점이 핵심인 것 같다.
N, K = map(int, input().split())
li = list(input())
k, stack = K, []
for i in range(N):
while k > 0 and stack and stack[-1] < li[i]:
stack.pop()
k -= 1
stack.append(li[i])
print(''.join(stack[:N-K]))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 10866번 덱(python) (0) | 2021.03.05 |
---|---|
백준 알고리즘 10845번 큐(python) (0) | 2021.03.05 |
백준 알고리즘 2841번 외계인의 기타 연주(python) (0) | 2021.03.05 |
백준 알고리즘 1935번 후위 표기식2(python) (0) | 2021.03.05 |
백준 알고리즘 3986번 좋은 단어(python) (0) | 2021.03.05 |