Introducción
Este desafío consiste en encontrar el mayor número eliminando dígitos y del número original n que tiene x dígitos.
Suponiendo que y=2 n=5263 x=4
los números posibles que eliminan y = 2 dígitos son:
[52, 56, 53, 26, 23, 63]
Entonces, el mayor número es el 63
que debe ser la salida para este ejemplo.
Otra lógica sería: para cada y, busque de izquierda a derecha el dígito que el siguiente dígito derecho es mayor, luego elimínelo, de lo contrario, cuando no coincida, elimine los últimos dígitos y .
Usando y=3 n=76751432 x=8
para explicar:
y=3
76751432
-^------ remove 6 because right next 7 is greater
y=2
7751432
---^--- remove 1 because right next 4 is greater
y=1
775432
-----^ the search failed, then remove last y digits
result = 77543
Ambos métodos explicados anteriormente funcionan ... por supuesto, también puedes usar otro método :)
Reto
El número n no tendrá más de 8 dígitos, y y siempre será mayor que cero y menor que x .
Para evitar un formato de entrada estricto, puede usar los valores: y n x
la forma que prefiera: como parámetros en función, entrada sin formato o cualquier otra forma válida. Simplemente no olvides decir cómo lo hiciste en tu respuesta.
La salida debe ser el número del resultado.
Este es el código de golf , gana la respuesta más corta en bytes.
Ejemplo de entrada y salida
Nuevamente: no necesitas ser demasiado estricto :)
4 1789823 7 -> 983
1 54132 5 -> 5432
3 69314 5 -> 94
2 51794 5 -> 794
Editar
Cambié el orden de entrada para reflejar el hecho de que algunos de ustedes pueden no necesitar el valor x para resolver el problema. x es ahora un valor opcional.
x
es una especie de información inútil.
x
como entrada puede acortar el código. (Caso en cuestión: mi respuesta de Julia.)