Napisz program lub funkcję, która wypisze dany ciąg w sposób schodowy, pisząc każdą część słowa rozpoczynającą się od samogłoski o jeden wiersz poniżej poprzedniej części.
Na przykład:
Input: Programming Puzzles and Code Golf
Output: Pr P C G
ogr uzzl and od olf
amm es e
ing
Wkład
Ciąg zawierający tylko litery i spacje.
Ciąg może być przekazywany przez STDIN
argumenty funkcji lub dowolne równoważne.
Litery mogą być małe lub wielkie.
Zakłada się, że dane wejściowe zawsze są zgodne z tymi zasadami, nie trzeba sprawdzać, czy dane wejściowe są nieprawidłowe.
Wydajność
Za każdym razem gdy samogłoski (czyli a
, e
, i
, o
, u
lub y
) spotyka się w słowie, należy wyjście reszta słowo na następnej linii (napotkał samogłoska w zestawie), w prawidłowej pozycji poziomej. Ta reguła jest rekurencyjna, co oznacza, że jeśli słowo zawiera n samogłosek, zostanie zapisane w n + 1 wierszach.
Samogłoska powinna być zapisywana na początku następnego wiersza, a nie na końcu poprzedniego wiersza, gdy zostanie napotkany.
Każde słowo zaczyna się w pierwszym wierszu i dlatego powinno być sformatowane niezależnie od innych słów. Dwa słowa są oddzielone spacją.
Jeśli słowo zaczyna się od samogłoski, musisz je zapisać zaczynając od drugiej linii.
Przypadki testowe
- Wkład:
Programming Puzzles and Code Golf
Wydajność:
Pr P C G
ogr uzzl and od olf
amm es e
ing
- Wkład:
The quick brown fox jumps over the lazy dog
Wydajność:
Th q br f j th l d
e u own ox umps ov e az og
ick er y
- Wkład:
aeiouy
Wydajność:
a
e
i
o
u
y
- Wkład:
YEAh UppErcAsE VOwEls
Wydajność:
V
Y Upp Ow
E Erc Els
Ah As
E
- Wkład:
If you only knew the power of the Dark Side
Wydajność:
kn th p th D S
If y onl ew e ow of e ark id
o y er e
u
Punktacja
To jest golf golfowy , więc wygrywa najkrótszy kod.
The vowel should be written at the beginning of the next line, and not at the end of the previous line when one is encountered.
Po namyśle rozumiem, że oznacza to, że przejście do następnej linii powinno nastąpić przed wydrukowaniem samogłoski, a nie później, ale może warto sformułować to w sposób, który jest natychmiast zrozumiały - zajęło mi to trochę czasu.