선생님은 현수에게 숫자 하나를 주고, 해당 숫자의 자릿수들 중 m개의 숫자를 제거하 여 가장 큰 수를 만들라고 했습니다. 여러분이 현수를 도와주세요.(단 숫자의 순서는 유지해야 합니다) 만약 5276823 이 주어지고 3개의 자릿수를 제거한다면 7823이 가장 큰 숫자가 됩니다.
import sys
# sys.stdin=open("input.txt","rt")
n,m = map(int,input().split())
# n = int(input())
# arr = list(map(int,input().split()))
# n = input()
# arr = [list(map(int,input().split())) for _ in range(n)]
# arr = [int(input()) for _ in range(n)]
res = 0
a = n
arr= []
while a > 0:
arr.insert(0,a%10)
a //= 10
st =[]
cnt = 0
for i in range(len(arr)):
while len(st)>0:
if cnt < m and st[-1] < arr[i]:
st.pop()
cnt +=1
else:
break
if len(st) <len(arr) - m:
st.append(arr[i])
# print(st)
for i in st:
print(i,end='')'코테연습 > python' 카테고리의 다른 글
| 나누어 떨어지는 숫자 배열 (0) | 2026.04.28 |
|---|---|
| 가운데 글자 가져오기 (0) | 2026.04.27 |
| 역수열(그리디) (0) | 2026.04.25 |
| 시저 암호 (1) | 2026.04.25 |
| 문자열을 정수로 바꾸기 (1) | 2026.04.25 |