def remove_k_digits(number, k):
    stack = []
    remaining = k
    for digit in number:
        while remaining and stack and stack[-1] > digit:
            stack.pop()
            remaining -= 1
        stack.append(digit)
    if remaining:
        del stack[-remaining:]
    return ''.join(stack).lstrip('0') or '0'
