Entrada:
Dos cadenas (NOTA: el orden de entrada es importante).
Salida:
Ambas palabras / oraciones comienzan en líneas con una línea vacía entre ellas. 'Caminan' horizontalmente 'uno al lado del otro'. Pero cuando tienen el mismo personaje en la misma posición, se cruzan y luego continúan caminando 'uno al lado del otro'.
Confuso que dices? Pongamos un ejemplo:
Entrada: Words crossing over
& Ducks quacking
:
Word quack n
s i g
Duck cross n over
Disculpe la mala pintura de MS ...
Reglas de desafío:
- Siempre volvemos a caminar en línea recta después de haber 'cruzado' antes de que podamos cruzar de nuevo (ver caso de prueba arriba {1} - donde
ing
es igual, pero después de haber cruzadoi
, primero tenemos que regresar caminando en línea recta (ignorando asín
), antes de que podamos cruzar de nuevog
). - Las entradas pueden ser de diferente longitud, en cuyo caso el más largo continúa caminando en línea recta (ver casos de prueba 1, 2, 4 y 6).
- Ambas entradas pueden ser iguales (ver caso de prueba 3).
- Las entradas no contendrán pestañas ni líneas nuevas.
- Los espacios se ignoran como caracteres que son iguales (como un caso de borde) , en cuyo caso el siguiente carácter (sin espacio) después de eso, si lo hay, se cruza (ver casos de prueba 3, 5 y 6).
- Las entradas no pueden tener caracteres adyacentes (sin espacio) en la misma posición, en cuyo caso ambos simplemente caminan en línea recta horizontalmente (ver casos de prueba 2).
- Incluso si el primer carácter es igual, siempre comenzamos dos líneas separadas (ver casos de prueba 3 y 6).
- Los espacios finales y una nueva línea final son opcionales.
- Puede suponer que las entradas solo contendrán caracteres ASCII imprimibles (se excluyen las nuevas líneas y pestañas).
- Las entradas son mayúsculas y minúsculas, de modo
A
ya
no son iguales, y no cruzar (ver caso de prueba 7). - Ambas longitudes de entrada siempre serán al menos 2.
- La entrada y salida pueden estar en cualquier formato razonable. Puede ser una sola cadena con nuevas líneas; un conjunto de cadenas / lista; impreso en STDOUT; Matriz 2D de personajes; etc.
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
1. Input: "Words crossing over" & "Ducks quacking"
1. Output:
Word quack n
s i g
Duck cross n over
2. Input: "bananas" & "ananas"
2. Output:
bananas
ananas
3. Input: "I see my twin!" & "I see my twin!"
3. Output:
I e y w n
s e m t i !
I e y w n
4. Input: "Is the weather nice?" & "Not really, no.."
4. Output:
Is th ally, no..
e
Not r weather nice?
5. Input: "Codegolf & Programming Puzzles" & "The golfer might solve puzzles"
5. Output:
Code o f & Programming P z l s
g l u z e
The o fer might solve p z l s
6. Input: "Can you turn the lights off?" & "Can you try to solve this?"
6. Output:
C n o urn the ve s off?
a y u t l t
C n o ry to so igh his?
7. Input: "one Ampere" & "two apples"
7. Output:
one Am les
p
two ap ere
8. Input: "Words crossing" & "Words Quacking"
8. Output:
W r s cross n
o d i g
W r s Quack n