Menu
CoddyTech

Remove K Digits

Recibes un número no negativo escrito como una cadena de dígitos, num, y un entero k. Elimina exactamente k dígitos y conserva el resto en su orden original, de modo que el número resultante sea lo más pequeño posible.

Devuélvelo como una cadena sin ceros iniciales. Si no queda nada, o solo quedan ceros, devuelve "0".

Función

removeKdigits(num: string, k: integer) → string
numstring
el número, escrito como una cadena de dígitos
kinteger
cuántos dígitos eliminar
Devuelvestring
el número más pequeño que puedes dejar, como cadena sin ceros iniciales

Restricciones

  • 1 ≤ num.length ≤ 4 × 104
  • 0 ≤ k ≤ num.length
  • num contiene solo los dígitos del 0 al 9.
  • num no tiene ceros iniciales, excepto cuando es el propio número cero, "0".

Ejemplos

Entrada
num = "4325043"k = 3
Salida
"2043"
Explicación
Al quitar el 4 y el primer 3, el 2 queda al principio. El 0 no puede ir primero: hay cuatro dígitos delante y tienes tres eliminaciones. La última eliminación quita el 5, que está antes de un 0 más pequeño.
challenge icon

Para ir más allá

¿Cómo cambiarías la solución para eliminar k dígitos y dejar el número más grande?

Restablecer código
def removeKdigits(num, k):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumentos

num = "4325043"
k = 3

Salida Esperada

"2043"