Un numeronimo (noto anche come "contrazione numerica") è quando una parola viene abbreviata utilizzando i numeri. Un metodo di contrazione comune consiste nell'utilizzare la lunghezza della sottostringa sostituita per sostituire tutti tranne il primo e l'ultimo carattere. Ad esempio, utilizzare i18ninvece di internationalizationo L10ninvece dilocalization . (La lettera Lmaiuscola è minuscola poiché è troppo simile alla 1.)
Naturalmente, diverse parole nella stessa frase possono avere la stessa forma abbreviata, quindi il tuo compito è convertire un gruppo di parole nei loro numeronimi, o nel caso in cui esistano parole diverse con lo stesso numeronimo, il tuo programma dovrebbe dare un risultato di A7s R4t, abbreviazione di Ambiguous Result(sì, so che questo risultato è esso stesso un risultato ambiguo.)
Regole:
- Utilizzare un programma o una funzione e stampare o restituire il risultato.
- L'input è preso come una singola stringa.
- L'output è una singola stringa di parole delimitate da spazi.
- Il tuo programma non ha bisogno di convertire parole con lunghezza 3 e non deve convertire parole più brevi.
- Se un
l(ell maiuscolo) si verificasse prima di un1(uno), dovrebbe essere reso maiuscolo. - Se si verifica un
I(occhio maiuscolo) prima di un1(uno), dovrebbe essere reso minuscolo. - L'input sarà ASCII e spazi stampabili. Le parole sono separate da spazi.
- Il codice più corto vince.
Esempi:
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.)
Modifica: se qualcuno non ha ricevuto il riferimento: Thnks fr th Mmrs
example examplee5e e5e
2B or not 2Be successive)
l1diventaL1o rimane comel1?