Un numéronyme (également connu sous le nom de «contraction numérique») est lorsqu'un mot est raccourci à l'aide de chiffres. Une méthode de contraction courante consiste à utiliser la longueur de la sous-chaîne remplacée pour remplacer tous les caractères sauf le premier et le dernier. Par exemple, utilisez i18n
au lieu de internationalization
ou L10n
au lieu delocalization
. (Le L
est en majuscule car un minuscule ressemble trop au 1
.)
Bien sûr, plusieurs mots dans la même phrase peuvent avoir la même forme abrégée, donc votre travail consiste à convertir un groupe de mots en leurs noms, ou dans le cas où il existe des mots différents avec le même numéro, votre programme devrait donner un résultat de A7s R4t
, abréviation de Ambiguous Result
(oui, je sais que ce résultat est lui-même un résultat ambigu.)
Règles:
- Utilisez un programme ou une fonction et imprimez ou renvoyez le résultat.
- L'entrée est prise comme une seule chaîne.
- La sortie est une seule chaîne de mots séparés par des espaces.
- Votre programme n'a pas besoin de convertir des mots de longueur 3 et ne doit pas convertir des mots plus courts.
- Si un
l
(ell minuscule) se produisait avant un1
(un), il devrait être mis en majuscule. - Si un
I
(œil majuscule) se produisait avant un1
(un), il devrait être mis en minuscule. - L'entrée sera ASCII imprimable et des espaces. Les mots sont séparés par des espaces.
- Le code le plus court gagne.
Exemples:
A7s R4t -> A7s R4t (OR: A1s R1t, etc)
Ambiguous Result -> A7s R4t
Billy goats gruff -> B3y g3s g3f
Thanks for the Memories -> T4s f1r the M6s (one possible answer, NOT: Thnks fr th Mmrs)
Programming Puzzles & Code Golf -> P9g P5s & C2e G2f
globalization -> g11n
localizability -> L12y
Internationalization or antidisestablishmentarianism -> i18n or a26m
Internationalization or InternXXXXXalization -> A7s R4t
what is this fiddle and faddle -> A7s R4t
A be see -> A be s1e (OR: A be see)
see sea -> s1e s1a (OR: see sea)
2B or not 2B -> 2B or not 2B (OR: 2B or n1t 2B. 2 letters, don't change, don't count as ambiguous)
this example is this example -> t2s e5e is t2s e5e (same words aren't ambiguous)
l1 -> l1 (2 letters, don't change.)
I1 -> I1 (2 letters, don't change.)
Edit: Si quelqu'un n'a pas obtenu la référence: Merci à Mmrs
example example
serait e5e e5e
, mais il serait bon d'inclure un test qui couvre cela.
2B or not 2B
et après.)
l1
devient-elleL1
ou reste-l1
t-elle?