Numeronym (також відомий як «чисельне скорочення»), коли слово коротшає з допомогою чисел. Поширений метод стиснення полягає у використанні довжини заміненої підрядки для заміни всіх, крім першого та останнього символів. Наприклад, використовувати i18nзамість internationalization, або L10nзамістьlocalization . (Великий Lлітер складається з великої літери, оскільки нижній регістр виглядає занадто схожим на 1.)
Звичайно, кілька слів в одній фразі можуть мати однакову скорочену форму, тому ваше завдання полягає в перетворенні групи слів у їхні нумероніми, або, якщо існує кілька різних слів з однаковим нумеронімом, ваша програма повинна дати результат A7s R4t, короткий для Ambiguous Result(так, я знаю, що цей результат сам по собі є неоднозначним результатом.)
Правила:
- Скористайтеся програмою або функцією та надрукуйте або поверніть результат.
- Введення приймається як один рядок.
- Вихід - це один рядок слів, обмежених пробілом.
- Вашій програмі не потрібно конвертувати слова довжиною 3 і не слід перетворювати коротші слова.
- Якщо
l(ell-ell) відбудеться перед1(one), його слід зробити великим. - Якщо
I( велике око) виникне перед1(одним), його слід зробити малі. - Вхід буде друкованим ASCII та пробілами. Слова розділені пробілами.
- Найкоротший код виграє.
Приклади:
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.)
Редагувати: Якщо хтось не отримав посилання: Думає від пані
example exampleбуло б e5e e5e, але було б добре включити тестовий випадок, який охоплює це.
2B or not 2Bі після.)
l1стаєL1або залишається таким, якl1?