Inspirado por esta pregunta sobre cómo empacar en este formato.
Ocasionalmente veo un crucigrama completo y, como soy, no me molesto en averiguar cuáles fueron las soluciones a las pistas.
Entrada:
- Una cadena 2D (cualquier formato, nueva línea separada, lista 2d, etc.)
- Los cuadrados en blanco se representarán con un
(carácter de espacio) - Cualquier otro cuadrado estará en minúscula.
- Puede suponer que la entrada se rellenará con espacios para formar un rectángulo
Salida:
- Cada palabra encontrada
- Debes buscar palabras a lo largo y hacia abajo
- Las palabras tendrán al menos dos letras
- Si hay palabras duplicadas, debe emitirlas cada vez que aparecen
- No tienes que hacer ninguna validación
- Las palabras pueden salir en cualquier orden
- No hay reglas de formato estrictas
Casos de prueba:
word
e e
step
t d
word, step, west, reed
---
pies
not
no
wasp
pies, not, no, wasp, in, eons, stop
---
igloo
n
word
igloo, word, on

d, lo que hace que lajunión en las nuevas líneas, que aún están cortadas porc ... )CJam, 14 bytes
Un bloque sin nombre que espera una lista de cadenas (rellenas) en la parte superior de la pila y deja una lista de palabras en su lugar.
Pruébalo aquí.
Explicación
fuente
JavaScript (ES6), 83 bytes
fuente
Pyth , 18 bytes
Pruébalo en línea!
Entrada de muestra:
Salida de muestra:
Cómo funciona:
fuente
Haskell, 58 bytes
Ejemplo de uso:
f ["pies"," not"," no","wasp"]->["pies", "not", "no", "wasp", "in", "eons", "stop"].Cómo funciona: divide cada una de las líneas de la entrada y su transposición en espacios en una sola lista de palabras. Mantenga los que coinciden
(_:_:_), es decir, tienen al menos dos letras.fuente
C ++ 14,
209207201 bytesCantidad ridículamente alta de bytes ... pero bueno. Matriz de transposición, cadena dividida. Fácil. Lástima que no haya una función nativa para transponer
Sin golf:
Cómo usarlo (tenga en cuenta que debe aplicar el relleno como dice la pregunta):
fuente
Pyke, 9 bytes
Pruébalo aquí!
O 7 bytes prettified
Pruébalo aquí!
fuente