Escreva um programa ou uma função que produza uma determinada sequência em forma de escada, escrevendo cada parte de uma palavra que comece com uma vogal uma linha abaixo da parte anterior.
Por exemplo:
Input: Programming Puzzles and Code Golf
Output: Pr P C G
ogr uzzl and od olf
amm es e
ing
Entrada
Uma string contendo nada além de letras e espaços.
A cadeia pode ser passada através de STDIN
argumentos de função ou algo equivalente.
As letras podem ser minúsculas ou maiúsculas.
As entradas sempre são assumidas para seguir essas regras; você não precisa verificar se há entradas incorretas.
Saída
Cada vez que uma vogal (isto é, a
, e
, i
, o
, u
ou y
) é encontrado em uma palavra, você deve emitir o resto da palavra na próxima linha (a vogal encontrou incluído), na posição horizontal correta. Essa regra é recursiva, o que significa que, se houver n vogais na palavra, ela será escrita em n + 1 linhas.
A vogal deve ser escrita no início da próxima linha e não no final da linha anterior quando uma for encontrada.
Cada palavra começa na primeira linha e, portanto, deve ser formatada independentemente de outras palavras. Duas palavras são separadas por um espaço.
Se uma palavra começa com uma vogal, você deve escrevê-la começando na segunda linha.
Casos de teste
- Entrada:
Programming Puzzles and Code Golf
Saída:
Pr P C G
ogr uzzl and od olf
amm es e
ing
- Entrada:
The quick brown fox jumps over the lazy dog
Saída:
Th q br f j th l d
e u own ox umps ov e az og
ick er y
- Entrada:
aeiouy
Saída:
a
e
i
o
u
y
- Entrada:
YEAh UppErcAsE VOwEls
Saída:
V
Y Upp Ow
E Erc Els
Ah As
E
- Entrada:
If you only knew the power of the Dark Side
Saída:
kn th p th D S
If y onl ew e ow of e ark id
o y er e
u
Pontuação
Isso é código-golfe , então o código mais curto vence.
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.
Depois de pensar um pouco, entendo que isso significa que a mudança para a próxima linha deve ocorrer antes da impressão da vogal, não depois, mas pode valer a pena redigir isso de uma maneira que seja instantaneamente compreensível - demorei um pouco.