特定の文字列を階段形式で出力するプログラムまたは関数を作成し、母音で始まる単語の各部分を前の部分の1行下に書き込みます。
例えば:
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行に書き込まれます。
母音は、次の行の先頭に書き込まれるべきであり、前の行に出会ったときに書き込まれるべきではありません。
各単語は最初の行から始まるため、他の単語とは独立してフォーマットする必要があります。2つの単語はスペースで区切られます。
単語が母音で始まる場合、2行目から記述する必要があります。
テストケース
- 入力:
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
得点
これはcode-golfなので、最短のコードが優先されます。
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.
少し考えてから、これは次の行への移動が母音が印刷される前ではなく後に行われることを意味することを理解していますが、すぐに理解できる方法でこれを表現する価値があるかもしれません-それには時間がかかりました。