Tor:
Erstellen Sie bei einem vorgegebenen Array von Zeichenfolgen abgekürzte Versionen jeder Zeichenfolge.
Spezifikation:
Bei dieser Herausforderung besteht eine Abkürzung aus den ersten N Zeichen einer Zeichenfolge. Für die Zeichenfolge abc: a, ab, und abcsind alle gültigen Abkürzungen, während bc, und acist es nicht.
Bei einem vorgegebenen Array von Zeichenfolgen möchten wir den kürzesten Satz von Abkürzungen finden, sodass Sie anhand der Eingabe und aller Abkürzungen bestimmen können, auf welches Element der Eingabe sich die Abkürzung bezieht.
Beispiel:
Eingang: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
Wir arbeiten uns durch die Saiten, beginnend mit der ersten.
Montag ist nur die Elementzeichenfolge mit einem
M, daher ist die kürzestmögliche AbkürzungM.Der Dienstag beginnt mit
T, der Donnerstag auch. Dies bedeutet, dass wir die Zeichenfolge versuchenTU. Da damit keine anderen Zeichenfolgen beginnen, verwenden wirTU.Mittwoch ist
W, Donnerstag istThund Freitag istF.
Mehr Beispiele:
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.
Anmerkungen:
Sie geben auf jede vernünftige Weise Daten ein und aus.
Sie können davon ausgehen, dass die Eingabe immer ein gültiges Array von Zeichenfolgen ist.
Sie können davon ausgehen, dass es anders als im letzten Testfall immer eine Lösung geben wird.
Zeichenfolgen bestehen nur aus druckbarem ASCII (oder den druckbaren Zeichen in Ihrer Kodierung)
Das ist Codegolf, also gewinnen die wenigsten Bytes!
Ufür Dienstag, ein Kleinbuchstabe hfür Donnerstag verwendet.