Więc chcesz stworzyć haiku, ale nie jesteś pewien, czy będzie ono zgodne z sylabowymi zasadami haiku.
Nie mogłem zadać sobie trudu, aby napisać odpowiedni napis jak zwykle, więc będziesz musiał się z tym pogodzić. Utknijmy od razu.
Znalezienie haiku na wolności
Na potrzeby tego wyzwania sprawdzimy, czy dany wiersz spełnia następujące kryteria:
- Istnieją trzy linie.
- Pierwsza linia ma 5 sylab.
- Druga linia ma 7 sylab.
- Trzecia linia ma 5 sylab.
Każda linia składa się z jednego lub więcej słów, oddzielonych grupami spacji. Te słowa niekoniecznie są poprawnymi słowami angielskimi.
Każde słowo jest dzielone na sylaby, a następnie te sylaby są liczone, aby uzyskać całkowitą liczbę sylab linii.
Sylaba składa się z 2 lub 3 części: początku, końca i ewentualnie środka. Każda część jest albo grupą consonsants (znany również jako spółgłosek, jak s, sklub spl) lub grupa samogłoski (na przykład i, eai oui).
Jeśli początek jest grupą spółgłosek, środek będzie grupą samogłosek, a koniec grupą spółgłosek. Jeśli początek jest grupą samogłosek, koniec będzie grupą spółgłosek i nie będzie środka.
Na przykład słowo exampleskłada się z trzech sylab ex, amoraz ple. plenie ma końca, ponieważ zostało skrócone do końca słowa.
Jako inny przykład, słowo syllablema również trzy sylaby syll, abli e, które również nie mają końca.
W końcowym przykładzie słowo wordma jedną sylabę word, która kończy się grupą spółgłosek.
Wyzwanie
Biorąc pod uwagę ciąg, listę ciągów, listę list lub inny rozsądny format reprezentujący wiersz z co najmniej jedną linią, ustal, czy spełnia on kryteria haiku opisane powyżej i zwróć wynik.
Możesz zwrócić wynik w dowolnym z następujących formatów:
- Prawdziwa wartość, jeśli wiersz jest haiku, a fałsz w przeciwnym razie.
- Fałszywa wartość, jeśli wiersz jest haiku, a prawda jest inna.
- Wartość ze skończonego zakresu wartości określonych w przedłożeniu, jeśli wiersz jest haiku, oraz wartość z wzajemnie wykluczającego się skończonego zakresu wartości określonych również w przedłożeniu.
Możesz także założyć, że wiersz nie zawiera znaków niealfabetycznych, ale nie możesz zakładać, że jest on pisany wyłącznie dużymi lub małymi literami.
Dla celów tego wyzwania Yjest samogłoska.
Przypadki testowe
Prawda
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
Punktacja
Ponieważ jest to kod-golf
Najkrótsza odpowiedź wygra
Powodzenia wszystkim