Напишите программу или функцию, которая будет выводить данную строку в виде лестницы, записывая каждую часть слова, которая начинается с гласной на одну строку ниже предыдущей части.
Например:
Input: Programming Puzzles and Code Golf
Output: Pr P C G
ogr uzzl and od olf
amm es e
ing
вход
Строка, содержащая только буквы и пробелы.
Строка может быть передана через STDIN
аргументы функции или аргументы или что-нибудь эквивалентное
Буквы могут быть строчными или прописными.
Предполагается, что входы всегда следуют этим правилам, вам не нужно проверять правильность входных данных.
Выход
Каждый раз , когда гласный (т.е. a
, e
, i
, o
, u
или y
) встречается в слове, вы должны выводить остальные слова на следующей строке (встречается гласный включен), в правильном горизонтальном положении. Это правило является рекурсивным, что означает, что если в слове n гласных, оно будет записано в n + 1 строках.
Гласный должен быть написан в начале следующей строки, а не в конце предыдущей строки, когда он встречается.
Каждое слово начинается с первой строки и поэтому должно быть отформатировано независимо от других слов. Два слова разделены пробелом.
Если слово начинается с гласного, вы должны написать его, начиная со второй строки.
Контрольные примеры
- Входные данные:
Programming Puzzles and Code Golf
Выход:
Pr P C G
ogr uzzl and od olf
amm es e
ing
- Входные данные:
The quick brown fox jumps over the lazy dog
Выход:
Th q br f j th l d
e u own ox umps ov e az og
ick er y
- Входные данные:
aeiouy
Выход:
a
e
i
o
u
y
- Входные данные:
YEAh UppErcAsE VOwEls
Выход:
V
Y Upp Ow
E Erc Els
Ah As
E
- Входные данные:
If you only knew the power of the Dark Side
Выход:
kn th p th D S
If y onl ew e ow of e ark id
o y er e
u
счет
Это код-гольф , поэтому выигрывает самый короткий код.
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.
Подумав немного, я понимаю, что это означает, что переход к следующей строке должен произойти до того, как будет напечатана гласная, а не после, но, возможно, стоило бы сформулировать это так, чтобы это было понятно сразу - это заняло у меня некоторое время.