[백준/python/2812] 크게만들기

bej_ve·2022년 5월 6일
0

python알고리즘

목록 보기
28/46

문제링크 : 크게만들기

문제

n자리수의 숫자에서 m개의 숫자를 지웠을 때 나올 수 있는 수 중에서 최대값을 구하는 문제이다. 알고리즘을 고민하다가 가장 앞의 수부터 작은 것을 지워야하고, 비교를 해서 뒤의 수가 자신보다 크다면 그 수는 지우는 방식을 생각해냈다.
n,m=map(int, input().split())
num=list(map(int, input().strip()))
result=[]
count=0

for i in range(n):
    while count<m and result:
        if result[len(result)-1]<num[i]:
            result.pop()
            count += 1
        else:
            break
    result.append(num[i])

for i in range(n-m):
    print(result[i],end="")

0개의 댓글