Napisz funkcje, która zwraca maksymalną zadaną liczbę ze stringa, składającą się z kolejnych liczb


In [ ]:
def max_num(digits, k):
    stack = []
    drop = len(digits) - k
    for digit in digits:
        while len(stack) > 0 and drop > 0 and stack[-1] < digit:
            stack.pop()
            drop -= 1
        stack.append(digit)

    return "".join(stack[:k])

assert max_num("9512983", 1)  == "9"
assert max_num("9512983", 3) == "998"
assert max_num("9512983", 7) == "9512983"