Cartel publicitario

Un cartel publicitario es una matriz m * n, donde cada elemento de la matriz consiste en una letra o un espacio en blanco. Se te da una frase y las dimensiones del cartel publicitario. Crea una función que determine si puedes colocar la frase completa en el cartel publicitario.

Hay dos reglas:

  1. Si hay un espacio entre dos palabras:
    • Si están en la misma fila, debes poner un espacio.
    • Si están en dos filas diferentes, el espacio es opcional.
  2. Solo puedes colocar palabras COMPLETAS en una fila.

Para ilustrarlo, canPut("GOOD MORN", [2, 4]) debería devolver true, ya que, aunque hay un espacio entre "GOOD" y "MORN", no es necesario porque ambas palabras están en filas separadas.

[
  ["G", "O", "O", "D"],
  ["M", "O", "R", "N"]
]

Por otro lado, canPut("GOOD MORN", [1, 8]) debería devolver false. Como ambas palabras están en la primera fila, necesitamos nueve espacios, y ocho producirían la frase incompleta "GOOD MOR".

[
  ["G", "O", "O", "D", "_", "M", "O", "R"]
]

También devolveríamos false si no pudiéramos colocar una palabra en una fila. Por lo tanto, canPut("GOOD MORN", [3,3]) debería devolver false, ya que solo podemos colocar "GOO" en la primera fila.

[
  ["G", "O", "O"],
  ["D", "_", "M"],
  ["O", "R", "N"]
]

// No good!

Ejemplos

canPut("HEY JUDE", [2, 4]) ➞ true

canPut("HEY JUDE", [1, 8]) ➞ true

canPut("HEY JUDE", [1, 7]) ➞ false

canPut("HEY JUDE", [4, 3]) ➞ false

Notas

Está bien dejar espacios vacíos adicionales en una fila si no puedes colocar dos palabras con un espacio entre ellas. Por ejemplo, en un cartel publicitario de 5 x 5, puedes colocar "BE" en la primera fila y "HAPPY" en la segunda.