Combinador

Crea una función que, dada una lista de listas de strings, devuelva una lista con todas las combinaciones en forma de strings concatenados.

  1. La función se llama con una lista de listas que contiene strings.
  2. La tarea consiste en combinar cada string de cada lista con cada string de las demás listas.
  3. Si una de las listas de strings está vacía, la función devolverá una lista vacía.

La función aceptará un segundo parámetro opcional de tipo string. Este parámetro, si se especifica, se utilizará para combinar dos strings.

Ejemplos

combinator([["a", "b"], ["c", "d"]]) ➞ ["ac", "ad", "bc", "bd"]

combinator([["a"], ["a", "b"], "abc"]) ➞ ["aaa", "aab", "aac", "aba", "abb", "abc"]

combinator([["foo", "bar"], ["baz", "bamboo"]], " ") ➞ ["foo baz", "foo bamboo", "bar baz", "bar bamboo"]

combinator([[]]) ➞ []

Notas

  • El orden de los strings dados debe conservarse en las combinaciones.
  • Puedes suponer que:
    • La función siempre se llama con una lista de listas de strings, y las listas pueden estar vacías.