Então, você deseja criar um haiku, mas não tem certeza se ele segue as regras da sílaba para um haiku.
Não me incomodei em escrever uma sinopse adequada, como normalmente faço, então você terá que se contentar com isso. Vamos ficar presos.
Encontrar um haiku na natureza
Para os propósitos deste desafio, verificaremos se o poema fornecido atende a estes critérios:
- Existem três linhas.
- A primeira linha possui 5 sílabas.
- A segunda linha possui 7 sílabas.
- A terceira linha possui 5 sílabas.
Cada linha é composta por uma ou mais palavras, separadas por grupos de espaços. Essas palavras não são necessariamente válidas em inglês.
Cada palavra é dividida em sílabas e, em seguida, essas sílabas são contadas para obter a contagem total de sílabas da linha.
Uma sílaba tem 2 ou 3 partes: o começo, o fim e, possivelmente, o meio. Cada parte é um grupo de consoantes (também conhecido como cluster de consoantes, como s
, sk
ou spl
) ou um grupo de vogais (como i
, ea
ou oui
).
Se o começo é um grupo de consoantes, o meio será um grupo de vogais e o final será um grupo de consoantes. Se o começo é um grupo de vogais, o fim será um grupo de consoantes e não haverá meio.
Por exemplo, a palavra example
é composta de três sílabas, ex
, am
e ple
. ple
não tem final, pois foi interrompido no final da palavra.
Como outro exemplo, a palavra syllable
também tem três sílabas, syll
, abl
e e
, que também não tem fim.
Para um exemplo final, a palavra word
tem uma sílaba word
, que termina com um grupo de consoantes.
O desafio
Dada uma sequência, lista de sequências, lista de listas ou qualquer outro formato razoável que represente um poema com pelo menos uma linha, determine se ele atende aos critérios de um haiku descritos acima e retorne o resultado.
Você pode retornar o resultado em qualquer um destes formatos:
- Um valor verdadeiro, se o poema é um haiku e, caso contrário, um falso.
- Um valor falso se o poema for um haiku e, de outra forma, um verdadeiro.
- Um valor de um intervalo finito de valores especificado na submissão se o poema for um haiku e um valor de um intervalo finito mutuamente exclusivo de valores também especificado na submissão.
Você também pode assumir que o poema não contém caracteres não alfabéticos, mas não pode assumir que esteja inteiramente em maiúsculas ou minúsculas.
Para os propósitos deste desafio, Y
é uma vogal.
Casos de teste
Truthy
This is a haiku
Yes it truly is one
See what I did man
I am so tired
of writing this already
when can I stop this
Writing another
Of these horrific things
Come on please
Consonant only
Counts as one syllable
ghjk tgh knmb wrts vbc
Falsy
oh boy writing non haiku is so much easier
This is
so good
on my
poor dear brain
The syllables do not match
at least I do not think so
I have not checked
It does not really matter
these test cases will help
At least I think they will
I am done here
This is enough
Goodbye
Pontuação
Uma vez que este é o código-golfe
A resposta mais curta ganhará
Boa sorte para todos vocês