Gol:
Dada una serie de cadenas, cree versiones abreviadas de cada cadena.
Especificación:
Para este desafío, una abreviatura son los primeros N caracteres de una cadena. Para la cadena abc
: a
, ab
, y abc
son todas las abreviaturas válidos, mientras que bc
, y ac
no lo son.
Dada una serie de cadenas, queremos encontrar el conjunto más corto de abreviaturas, de modo que dada la entrada y cualquier abreviatura, pueda determinar a qué elemento de la entrada se refería la abreviatura.
Ejemplo:
Entrada: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
Nos abrimos paso a través de las cadenas comenzando por la primera.
El lunes es solo la cadena de elementos con un
M
, por lo que la abreviatura más corta posible esM
.El martes comienza con
T
, pero también el jueves. Esto significa que probamos la cadenaTU
. Como ninguna otra secuencia comienza con eso, usamosTU
.El miércoles es
W
, el jueves esTh
y el viernes esF
.
Más ejemplos:
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.
Notas:
Realiza entradas y salidas de cualquier manera razonable.
Puede suponer que la entrada siempre será una matriz válida de cadenas.
Puede suponer que siempre habrá una solución, a diferencia del último caso de prueba.
Las cadenas solo consistirán en ASCII imprimible (o los caracteres imprimibles en su codificación)
Este es el código de golf, ¡por lo que ganan menos bytes!
U
para el martes, pero en minúscula h
para el jueves.