Напишіть функцію або програму, яка при наданні списку імен видає або повертає список, де дублікати заданих імен мають унікальну скорочену версію свого прізвища.
Вхід:
Список імен, де ім'я визначається заданим іменем та прізвищем, розділеним пробілом. Імена - це не порожні рядки, що містять лише великі та малі літери. Список може бути масивом рядків або іменами, розділеними постійним не-альфа-непробільним символом, але вихід повинен бути у тому ж форматі, що і вхідний.
Вихід:
Список введених імен у тому ж порядку та форматі, що і вхідні дані, змінені цими правилами:
- Для унікальних заданих імен виведіть лише вказане ім’я
- Для імен, які мають однакове ім’я:
- Як і їх ім'я, додайте найкоротшу унікальну версію свого прізвища, яка не поділяється іншим ім’ям, а потім - крапка. Наприклад:
John Clancy, John SmithстаєJohn C.,John S.іJames Brown, James BratteстаєJames Bro.,James Bra. - Якщо одне прізвище - це підмножина іншого, наприклад
Julian King,Julian Kingsley, поверніть повне прізвище меншого без крапки. Приклад став биJulian King,Julian King.
- Як і їх ім'я, додайте найкоротшу унікальну версію свого прізвища, яка не поділяється іншим ім’ям, а потім - крапка. Наприклад:
- В основному період представляє собою регулярний вираз
.+, де лише одне ім'я повинно відповідати йому. - Ви можете припустити, що ніхто не поділиться тим самим іменем та тим самим прізвищем
- Назви відрізняються від регістру
Випробування:
John Clancy,Julie Walker,John Walker,Julie Clancy->John C.,Julie W.,John W.,Julie C.Julian King,Jack Johnson,Julian Kingsley>Julian King,Jack,Julian King.Jack Brown,Jack Black,Jack Blue>Jack Br.,Jack Bla.,Jack Blu.John Storm,Jon Snow,Johnny Storm>John,Jon,JohnnyJill DeSoma,Jill Desmond>Jill DeS.,Jill Des.XxXnO sCOppeXxX,XxXNO MERCYXxX>XxXnO,XxXNO
Це код-гольф , тому найнижча кількість байтів для кожної мови виграє.
Angela C.тест у тестовому випадку?
Julieой, дякую. Виправлено