Inspirado en esta cadena de comentarios ...
Quiero
enklact
salir de este desafío pero no puedo ...@ETHproductions to enklact (v): para implementar una tabla de búsqueda utilizando una subsección que consta de elementos únicos.
Enklacting es una forma muy útil de comprimir una tabla de búsqueda. Por ejemplo, supongamos que tenía la siguiente lista de colores:
red
green
blue
yellow
purple
orange
Si desea poder tomar un color como entrada y devolver su índice en esta lista, obviamente hay una forma sencilla:
["red", "green", "blue", "yellow", "purple", "orange"].index(input())
Pero hay una forma en que podríamos hacer esto de una manera menos bytes:
"rgbypo".index(input()[0])
Esto funciona porque el primer (o 0º) índice de cada cadena es único. Este ejemplo es obvio, pero a veces es un poco más difícil. ¿Qué pasaría si quisiéramos hacer una tabla de búsqueda para esta lista?
Sweet Onion Chicken Teriyaki
Oven Roasted Chicken
Turkey Breast
Italian BMT
Tuna
Black Forest Ham
Meatball Marinara
En este caso, no podemos hacer esto:
"SOTITBM".index(input()[0])
porque hay dos entradas diferentes que comienzan con a 'T'
, a saber, "Atún" y "Turquía". Debemos mirar un índice diferente. Si observa el cuarto índice de cada cadena, notará que todas son únicas. Entonces podemos hacer esto ...
"enklact".index(input()[3])
En este caso, la "cadena de enklaction" es "enklact".
Eso nos lleva al desafío de hoy ...
Dada una lista de cadenas, devuelve cualquier cadena de enklaction válida. O, en otras palabras, dada una lista de cadenas, devuelve cualquier cadena nueva donde cada letra sea única, y la cadena se forma uniendo la iésima letra de cada cadena.
Si no hay una cadena de enklaction válida, su envío debe devolver una cadena vacía o un valor falso falso en su lugar. Como de costumbre, se permiten funciones o programas completos, y los formatos de entrada / salida son permisivos (dentro de lo razonable).
Cada cadena solo contendrá ASCII imprimible, y este desafío distingue entre mayúsculas y minúsculas.
Este es el código de golf , ¡así que trate de escribir el programa más corto posible en el idioma que elija!
Casos de prueba
Input:
Programming
Puzzles
Code
Golf
Output (any one of these):
"ozdl"
"gzef"
Input:
the quick
brown fox
jumped over
lazy dogs
Output:
"tbjl"
"hrua"
"eomz"
" wpy"
"qne "
"if o"
"kxvs"
Note that "u dd" and "coog" are not valid.
Input:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Output:
""
Input:
AbC
aBc
bbC
Output:
"Aab"
Input:
@#$%^_
Hello_World
How are you?
Output:
"#eo"
"$lw"
"%l "
"^oa"
Input:
a
ab
ac
Output:
""