Tujuan:
Diberikan array string, buat versi singkat dari setiap string.
Spesifikasi:
Untuk tantangan ini, singkatan adalah karakter N pertama dari sebuah string. Untuk string abc
: a
,, ab
dan abc
semua singkatan yang valid, sementara bc
, dan ac
tidak.
Diberikan serangkaian string, kami ingin menemukan kumpulan singkatan terpendek, sehingga memberikan input dan singkatan apa pun, Anda bisa menentukan item input mana yang mengacu pada singkatan tersebut.
Contoh:
Memasukkan: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
Kami bekerja melalui string yang dimulai dengan yang pertama.
Monday hanya string item dengan
M
, jadi singkatan yang sesingkat mungkin adalahM
.Selasa dimulai dengan
T
, tetapi begitu juga Kamis. Ini artinya kita mencoba stringTU
. Karena tidak ada string lain yang dimulai dengan itu, kami menggunakanTU
.Rabu adalah
W
, KamisTh
, dan JumatF
.
Lebih banyak contoh:
Input: "one,two,three,four,five,six,seven"
Output: "o,tw,th,fo,fi,si,se"
Input: "red,orange,yellow,green,blue,purple"
Output: "r,o,y,g,b,p"
Input: "a,ab,abc"
Output: Not valid! No abbreviation for `a` that doesn't apply to the other items.
Catatan:
Anda membuat input dan output dengan cara yang masuk akal.
Anda dapat mengasumsikan bahwa input akan selalu berupa array string yang valid.
Anda dapat mengasumsikan bahwa akan selalu ada solusi, tidak seperti pada test case terakhir.
String hanya akan terdiri dari ASCII yang dapat dicetak (atau karakter yang dapat dicetak dalam penyandian Anda)
Ini kode golf, byte paling sedikit menang!
U
untuk hari Selasa, tetapi huruf kecil h
untuk hari Kamis.