introduction
Ce défi consiste à trouver le plus grand nombre en supprimant y chiffres du numéro d'origine n qui a x chiffres.
En supposant que y=2 n=5263 x=4
les nombres possibles supprimant y = 2 chiffres sont:
[52, 56, 53, 26, 23, 63]
Ainsi, le plus grand nombre est celui 63
qui doit être la sortie de cet exemple.
Une autre logique serait: pour chaque y, recherchez de gauche à droite le chiffre qui est le chiffre suivant droit, puis supprimez-le, sinon en cas de non-correspondance, supprimez les derniers chiffres y .
Utiliser y=3 n=76751432 x=8
pour expliquer:
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
Les deux méthodes expliquées ci-dessus fonctionnent .. bien sûr, vous pouvez également utiliser une autre méthode :)
Défi
Le nombre n ne comportera pas plus de 8 chiffres, et y sera toujours supérieur à zéro et inférieur à x .
Pour éviter un format d'entrée strict, vous pouvez utiliser les valeurs: y n x
comme vous préférez: comme paramètres dans la fonction, entrée brute ou tout autre moyen valide. N'oubliez pas de dire comment vous avez fait cela dans votre réponse.
La sortie doit être le numéro de résultat.
C'est le code-golf , la réponse la plus courte en octets l'emporte.
Exemple d'entrée et de sortie
Encore une fois: vous n'avez pas besoin d'être trop strict :)
4 1789823 7 -> 983
1 54132 5 -> 5432
3 69314 5 -> 94
2 51794 5 -> 794
modifier
J'ai modifié l'ordre d'entrée pour refléter le fait que certains d'entre vous n'ont peut-être pas besoin de la valeur x pour résoudre le problème. x est désormais une valeur facultative.
x
c'est une sorte d'information inutile.
x
en entrée peut raccourcir le code. (Exemple: ma réponse Julia.)