Un numeronym (también conocido como "contracción numérica") es cuando una palabra se acorta usando números. Un método de contracción común es utilizar la longitud de la subcadena reemplazada para reemplazar todos los caracteres excepto el primero y el último. Por ejemplo, use en i18nlugar de internationalizationo en L10nlugar delocalization . (El Lestá en mayúscula ya que uno en minúscula se parece demasiado al 1.)
Por supuesto, varias palabras en la misma frase pueden tener la misma forma abreviada, por lo que su trabajo es convertir un grupo de palabras a sus numeronyms, o en el caso de que existan algunas palabras diferentes con el mismo numeronym, su programa debe dar un resultado de A7s R4t, abreviatura de Ambiguous Result(sí, sé que este resultado es en sí mismo un resultado ambiguo).
Reglas:
- Use un programa o función e imprima o devuelva el resultado.
- La entrada se toma como una sola cadena.
- La salida es una sola cadena de palabras delimitadas por espacios.
- Su programa no necesita convertir palabras con longitud 3, y no debe convertir palabras más cortas.
- Si un
l(ell minúsculo) ocurriera antes de un1(uno), se debe poner en mayúscula. - Si un
I(ojo en mayúscula) ocurriera antes de un1(uno), se debe poner en minúscula. - La entrada será ASCII y espacios imprimibles. Las palabras están separadas por espacios.
- El código más corto gana.
Ejemplos:
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.)
Editar: Si alguien no obtuvo la referencia: Gracias de la Sra.
example examplesería e5e e5e, pero sería bueno incluir un caso de prueba que cubra esto.
2B or not 2By posteriores)
l1convertirseL1o permanecer comol1?