Hedef:
Bir dizge dizisi verildiğinde, her dizenin kısaltılmış versiyonlarını oluşturun.
Şartname:
Bu zorluk için, bir kısaltma bir dizenin ilk N karakteridir. Dize için abc
: a
, ab
ve abc
tüm geçerli kısaltmalar iken bc
ve ac
değillerdir.
Bir dizi dizi göz önüne alındığında, girdi ve herhangi bir kısaltma verildiğinde, kısaltmanın hangi öğeden bahsettiğini belirlemek için en kısa kısaltma kümesini bulmak istiyoruz.
Örnek:
Giriş: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
İlki ile başlayan iplerden geçiyoruz.
Pazartesi sadece bir öğe dizesidir
M
, bu yüzden mümkün olan en kısa kısaltmadırM
.Salı ile başlar
T
, ancak Perşembe de öyle. Bu, ipi denediğimiz anlamına gelirTU
. Başka hiçbir dize buna başlamadığından, kullanırızTU
.Çarşamba
W
, perşembeTh
ve cumaF
.
Daha fazla örnek:
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.
Notlar:
Herhangi bir makul şekilde giriş ve çıkış yaparsınız.
Girişin her zaman geçerli bir dize dizisi olacağını varsayabilirsiniz.
Son test durumundan farklı olarak her zaman bir çözüm olacağını varsayabilirsiniz.
Dizeler yalnızca yazdırılabilir ASCII'den (veya kodlamanızdaki yazdırılabilir karakterlerden) oluşur
Bu kod golf, yani en az bayt kazanıyor!
U
Salı için bir büyük harf h
, Perşembe için küçük bir harf kullanır.