Algorithm/Greedy

[백준] 2812번 크게 만들기

등촌동 꼬북이 2020. 11. 28. 02:28

뭔가.. 되게 오래 걸릴꺼 같았는데 생각보다 금방 풀었다..

 

뭔가 더 로직을 간편화 할 수 있을꺼같은데.. 나중에 해봐야지..

 

import sys

length, delete = map(int, sys.stdin.readline().strip().split())
valNum = list(sys.stdin.readline().strip())
ans = [valNum[0]]

for i in range(1, length):
    if len(ans) == length - delete:
        if i != length and delete == 0:
            ans.append(valNum[i:])
        break
    while len(ans) > 0 and ans[-1] < valNum[i] and delete > 0:
        ans.pop()
        delete -= 1
    ans.append(valNum[i])

print(''.join(ans))