주어진 문자열을 계단 방식으로 출력하는 프로그램이나 함수를 작성하여 이전 부분 아래 한 줄씩 모음으로 시작하는 단어의 각 부분을 씁니다.
예를 들면 다음과 같습니다.
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
채점
이것은 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.
어떤 생각을 한 후에, 이것은 모음이 인쇄되기 전에 다음 줄로 이동해야한다는 것을 이해합니다.하지만 나중에 이해할 수있는 방식으로 말로 표현할 가치가 있습니다.