Un mot à chiffres est un mot où, après avoir éventuellement supprimé certaines lettres, vous vous retrouvez avec un seul chiffre: UN, DEUX, TROIS, QUATRE, CINQ, SIX, SEPT, HUIT ou NEUF (pas ZÉRO).
Par exemple, BOUNCE et ANNOUNCE sont des mots numériques, car ils contiennent le chiffre un.
ENCODE n'est pas un mot numérique, même s'il contient un O, N et E, car ils ne sont pas en ordre.
Écrivez un programme / fonction qui prend un seul mot (majuscule ou minuscule - vous choisissez) comme entrée ou paramètre et détermine s'il s'agit d'un mot numérique. Rendez le code aussi court que possible.
Si le mot n'est pas un mot à chiffres, vous devez retourner «NON», 0 ou toute valeur «falsey» (cela peut varier en fonction de votre langue). Si le mot est un mot numérique, vous devez sortir le chiffre qu'il contient, sous forme de nombre.
Vous pouvez supposer qu'aucun mot ne contient plus d'un chiffre, vous n'aurez donc rien comme ONFIVE.
Cas de test
BOUNCE
1
ENCODE
NO
EIGHT
8
BLACKJACK
NO
FABULOUS
NO
EXERCISE
NO
DRIFTWOOD
2
SERVICEMAN
7
INSIGNIFICANCE
9
THROWDOWN
2
ZERO
NO
OZNERO
1
Ce défi est tiré de (et est une très légère modification de) la question 1 de BIO 2009 . La plupart des cas de test sont tirés du schéma de marque .
NOFELINEVET
contient à la fois 5 et 9 ... que dois-je retourner?
0
dans le cas où aucun chiffre n'a été trouvé, même si ce n'est pas falsey dans la langue de son choix?