Uma cadeia de caracteres é considerada quadrada se as seguintes condições forem atendidas:
- Cada linha tem o mesmo número de caracteres
- O número de caracteres em cada linha é igual ao número de linhas.
Sua tarefa é escrever um programa ou função que determine se uma determinada sequência de entrada é ou não um quadrado.
Você pode exigir que a entrada seja delimitada por sua escolha de LF, CR ou CRLF.
Os caracteres da nova linha não são considerados parte do comprimento da linha.
Você pode exigir que exista ou não uma nova linha à direita na entrada, que não conta como uma linha adicional.
Input é uma string ou um array de caracteres 1D; não é uma lista de strings.
Você pode assumir que a entrada não está vazia e contém apenas ASCII imprimível, incluindo espaços.
Você deve gerar um valor de verdade para cadeias de caracteres quadradas e um valor falso para outras cadeias de caracteres.
Casos de teste de verdade:
foo Barra baz
.
.s. .ss .s. (s representa espaço)
ss ss (s representa espaço)
aaaaa aaaaa aaaaa aaaaa aaaaa
Casos de teste de falsidade:
.. .
.
.
.... ....
4444 333 22
333 333
abc.def.ghi
Observe linhas em branco extras em alguns casos de falsificação.
Isso é código-golfe - o menor número de bytes vence!