Contributions
Une liste (tableau) de nombres ou de chaînes numériques si cela vous facilite la tâche. Vous pouvez supposer qu'il y aura toujours au moins deux éléments dans la liste et que chaque élément sera un nombre naturel (entier supérieur à zéro).
Les sorties
Un seul numéro, ou encore une chaîne numérique.
Problème
L'idée est de réduire la liste des nombres en supprimant le dernier chiffre du plus grand nombre à ce stade actuel de la liste, pour finir par un seul nombre (un seul nombre doit être retourné, même s'il y a plusieurs instances)
Exemple
[123,343,121,76,465,786] -- The last digit in 786 is dropped, so it becomes 78
[123,343,121,76,465,78] -- New largest number is 465, so the 5 is dropped, making it 46
[123,343,121,76,46,78] -- Repeat until left with one number
[123,34,121,76,46,78]
[12,34,121,76,46,78]
[12,34,12,76,46,78]
[12,34,12,76,46,7]
[12,34,12,7,46,7]
[12,34,12,7,4,7]
[12,3,12,7,4,7]
[1,3,1,7,4,7] -- If there are multiple max numbers, you **must** remove the last digit from all of them
[1,3,1,4]
[1,3,1]
[1,1] -- You have your answer when there is one number, or multiple numbers that are equal
1 -- Result
Échappatoires
Des échappatoires standard s'appliquent
Autres contraintes
Votre programme doit fonctionner pour n'importe quelle liste de nombres aléatoires (en raison bien sûr)
Cas de test
[24,72,4]
[24,7,4]
[2,7,4]
[2,4]
[2]
2
[14, 7]
[1, 7]
[1]
1
[1278,232,98273,2334]
[1278,232,9827,2334]
[1278,232,982,2334]
[1278,232,982,233]
[127,232,982,233]
[127,232,98,233]
[127,232,98,23]
[127,23,98,23]
[12,23,98,23]
[12,23,9,23]
[12,2,9,2]
[1,2,9,2]
[1,2,2]
[1]
1
Notation
C'est le code-golf , donc la réponse la plus courte dans toutes les langues gagne!
[12, 123, 124]
est -12
, ce qui rend chaque mauvaise réponse affiché le .Réponses:
Haskell , 16 octets
Essayez-le en ligne!
la source
Python 2 , 24 octets
-4 octets grâce à notjagan.
Essayez-le en ligne!
la source
min(zip(*l)[0])
.Python 3 ,
24, 21, 18 octetsEssayez-le en ligne!
Troissix octets enregistrés grâce à @totallyhuman!la source
Mathematica, 29 octets
la source
Japt ,
865 octets-1 octet grâce à @Shaggy
Prend l'entrée comme un tableau de chaînes numériques. Essayez-le en ligne!
Explication
la source
n v g
fonctionnerait également pour 5 octets. Bienvenue à Japt, au fait.05AB1E , 3 octets
Essayez-le en ligne!
la source
[12,23,12]
.3,2,2,2,1
entraîne 1 comme prévu.PHP , 45 octets
Essayez-le en ligne!
la source
[12,23,12]
.V ,
11, 5 octetsEssayez-le en ligne!
Je rendais ce waaay plus compliqué qu'il ne l'est réellement. Cette réponse trie simplement chaque ligne par valeurs ASCII, puis renvoie le tout premier caractère. Puisque c'est une réponse gentille ou ennuyeuse, voici une réponse plus intéressante qui implémente réellement l'algorithme décrit à l'origine:
V , 11 octets
Essayez-le en ligne!
la source
Gelée ,
32 octetsUn programme complet qui prend une liste de listes de caractères (chaînes) et imprime le résultat.
Essayez-le en ligne!
Comment?
Nous avons juste besoin de retourner le plus petit chiffre de tête ...
la source
JavaScript (ES6), 17 octets
Prend l'entrée comme un tableau de chaînes.
Essayez-le
Saisissez une liste de nombres séparés par des virgules.
la source
,,,, 3 octets
Explication
la source
Braingolf , 17 octets
Essayez-le en ligne!
Explication
En d'autres termes, il construit une pile composée uniquement du premier chiffre de chaque élément, puis sort le plus bas.
Ce défi m'a donné un tas d'idées utiles à intégrer à Braingolf, et maintenant grâce à l'ajout de la boucle foreach "spéciale", Braingolf peut le faire en 5 octets:
Braingolf , 5 octets [non concurrent]
Explication
Essayez-le en ligne!
Je suis normalement contre l'ajout de buildins juste pour compléter un défi, mais je peux voir une pléthore d'utilisations pour la nouvelle
(...)
boucle foreach, donc je ne considère pas vraiment l'ajout d'une fonctionnalité juste pour ce défi.la source
[12,23,12]
. La sortie attendue est2
, vous avez renvoyé1
.1
:[12,23,12] > [12,2,12] > [1,2,1] > [1,1]
Funky , 18 octets
Prend l'entrée comme une liste de chaînes.
Essayez-le en ligne!
la source
Pip , 5 octets
Prend la liste des numéros d'entrée comme arguments de ligne de commande.
Essayez-le en ligne!
Alternativement:
Essayez-le en ligne!
Explications
Dans les deux programmes, se
g
trouve la liste des arguments de ligne de commande.SS
trie en utilisant la comparaison de chaînes, plaçant ainsi les nombres avec les plus petits premiers chiffres en premier, indépendamment de leur ampleur. Unary@
donne le premier élément d'une liste ou scalaire. Nous l'appliquons deux fois pour obtenir le premier chiffre du premier nombre après le tri.Alternativement:
Z
est zip; sa version unaire peut être utilisée pour transposer une liste. Le premier élément de la liste transposée est une liste des premiers chiffres de tous les nombres.@
obtient cette liste de chiffres;MN
prend son minimum.la source
PHP, 27 octets
(Wow, totalement mal compris la question. Cela ne fonctionne pas. Éditera plus tard.)
la source
Pyth ,
97 octetsEssayez-le en ligne!
Explication
Cela renvoie essentiellement le plus petit chiffre de début.
la source
Python 3 , 33 octets
Essayez-le en ligne!
@DJMcMayhem et @totallyhuman ont de meilleures solutions mais la mienne suppose une entrée numérique au lieu d'une chaîne.
la source
Pyth, 3 octets
L'entrée est une liste de représentations de chaînes de nombres.
Essayez-le en ligne
Explication:
la source