Tulis fungsi atau program yang, ketika diberi daftar nama, mengeluarkan atau mengembalikan daftar di mana duplikat nama yang diberikan memiliki versi singkat yang unik dari nama mereka.
Memasukkan:
Daftar nama, di mana nama didefinisikan oleh nama yang diberikan dan nama belakang yang dipisahkan oleh spasi. Nama adalah string non-kosong yang hanya berisi huruf besar dan kecil. Daftar dapat berupa array string, atau nama-nama yang dipisahkan oleh karakter non-alpha, non-spasi konstan, tetapi output harus dalam format yang sama dengan input.
Keluaran:
Daftar nama yang dimasukkan dalam urutan dan format yang sama dengan input yang telah dimodifikasi oleh aturan ini:
- Untuk nama yang diberikan unik, output hanya nama yang diberikan
- Untuk nama yang memiliki nama yang sama:
- Serta nama yang diberikan, tambahkan versi unik terpendek dari nama keluarga mereka yang tidak dibagikan dengan nama lain, diikuti dengan tanda titik. Misalnya:
John Clancy, John Smith
menjadiJohn C.,John S.
danJames Brown, James Bratte
menjadiJames Bro.,James Bra.
- Jika satu nama keluarga adalah subset dari yang lain, seperti
Julian King,Julian Kingsley
, kembalikan nama lengkap dari yang lebih kecil tanpa tanda titik. Teladan akan menjadiJulian King,Julian King.
- Serta nama yang diberikan, tambahkan versi unik terpendek dari nama keluarga mereka yang tidak dibagikan dengan nama lain, diikuti dengan tanda titik. Misalnya:
- Pada dasarnya suatu periode mewakili regex
.+
, di mana hanya satu nama yang cocok dengan itu. - Anda dapat berasumsi bahwa tidak ada yang akan berbagi nama yang diberikan dan nama keluarga yang sama
- Nama bersifat case-sensitive
Kasus uji:
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
Ini adalah kode-golf , sehingga jumlah byte terendah untuk setiap bahasa menang.
Angela C.
dalam kasus uji?
Julie
oops, terima kasih. Diperbaiki