본문 바로가기

Algorithm/Python

032 - 가장 큰 수

선생님은 현수에게 숫자 하나를 주고, 해당 숫자의 자릿수들 중 m개의 숫자를 제거하 여 가장 큰 수를 만들라고 했습니다. 여러분이 현수를 도와주세요.(단 숫자의 순서는 유지해야 합니다)
만약 5276823 이 주어지고 3개의 자릿수를 제거한다면
7823이 가장 큰 숫자가 됩니다.

 

입력설명
첫째 줄에 숫자(길이는 1000을 넘지 않습니다)와 제가해야할 자릿수의 개수가 주어집니다.

 

출력설명
가장 큰 수를 출력합니다.

 

입력예제 1

5276823 3

 

출력예제 1

7823

 

 

 

#import sys
#sys.stdin = open('in.txt', 'rt')

a, m = map(int, input().split())
res = []
a = str(a)

for x in a:
    while res and m > 0 and res[-1] < x:
        res.pop()
        m -= 1
    res.append(x)

if m != 0:
    res = res[:-m]
res = ''.join(map(str, res))
print(res)

 

 

 

 

'Algorithm > Python' 카테고리의 다른 글

034 - 후위표기식 만들기  (0) 2023.08.16
033 - 쇠막대기  (0) 2023.08.16
031 - 역수열(그리디)  (0) 2023.08.16
030 - 증가수열 만들기(그리디)  (0) 2023.08.16
029 - 침몰하는 타이타닉(그리디)  (0) 2023.08.16