Painel publicitário

Um painel publicitário é uma matriz m * n, em que cada elemento da matriz consiste em uma letra ou um espaço em branco. Você recebe uma frase e as dimensões do painel publicitário. Crie uma função que determine se é possível colocar a frase completa no painel publicitário.

Há duas regras:

  1. Se houver um espaço entre duas palavras:
    • Se elas estiverem na mesma linha, você deverá colocar um espaço.
    • Se estiverem em duas linhas diferentes, o espaço será opcional.
  2. Você só pode colocar palavras COMPLETAS em uma linha.

Para ilustrar, canPut("GOOD MORN", [2, 4]) deverá resultar em true, pois, embora haja um espaço entre "GOOD" e "MORN", ele não é necessário porque as duas palavras estão em linhas separadas.

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

Por outro lado, canPut("GOOD MORN", [1, 8]) deverá resultar em false. Como as duas palavras ficam na primeira linha, precisamos de nove posições, e oito resultariam na frase incompleta "GOOD MOR".

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

Também retornaríamos false se não fosse possível encaixar uma palavra em uma linha. Portanto, canPut("GOOD MORN", [3,3]) deverá resultar em false, pois só conseguimos encaixar "GOO" na primeira linha.

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

// No good!

Exemplos

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

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

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

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

Observações

Não há problema em deixar espaços vazios extras em uma linha se você não conseguir encaixar duas palavras com um espaço entre elas. Por exemplo, em um painel 5 x 5, você pode colocar "BE" na primeira linha e "HAPPY" na segunda.