Napisz funkcję lub program, który otrzyma listę imion, wyświetli lub zwróci listę, w której duplikaty imion mają unikalną skróconą wersję ich nazwiska.
Wejście:
Lista nazwisk, w której nazwa jest zdefiniowana przez dane imię i nazwisko oddzielone spacją. Nazwy to niepuste ciągi znaków zawierające tylko wielkie i małe litery. Lista może być tablicą ciągów lub nazw oddzielonych stałym znakiem innym niż alfa, spacją, ale dane wyjściowe muszą być w tym samym formacie co dane wejściowe.
Wynik:
Lista wprowadzonych nazw w tej samej kolejności i formacie, co dane zmodyfikowane przez te reguły:
- W przypadku unikalnych podanych nazw wyślij tylko podaną nazwę
- W przypadku nazw o tej samej podanej nazwie:
- Oprócz ich imienia i nazwiska dodaj najkrótszą unikalną wersję ich nazwiska, która nie jest współdzielona przez inne nazwisko, a następnie kropka. Na przykład:
John Clancy, John Smith
staje sięJohn C.,John S.
iJames Brown, James Bratte
stajeJames Bro.,James Bra.
- Jeśli jedno nazwisko jest podzbiorem drugiego, na przykład
Julian King,Julian Kingsley
zwróć pełne nazwisko mniejszego bez kropki. Przykład stałby sięJulian King,Julian King.
- Oprócz ich imienia i nazwiska dodaj najkrótszą unikalną wersję ich nazwiska, która nie jest współdzielona przez inne nazwisko, a następnie kropka. Na przykład:
- Zasadniczo kropka reprezentuje regex
.+
, przy czym tylko jedna nazwa powinna do niego pasować. - Możesz założyć, że nikt nie będzie miał tego samego imienia i nazwiska
- W nazwach rozróżniana jest wielkość liter
Przypadki testowe:
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,Johnny
Jill DeSoma,Jill Desmond
>Jill DeS.,Jill Des.
XxXnO sCOppeXxX,XxXNO MERCYXxX
>XxXnO,XxXNO
To jest golf golfowy , więc wygrywa najniższa liczba bajtów dla każdego języka.
Angela C.
pochodzi przypadek testowy?
Julie
ups, dzięki. Naprawiono