만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

하이쿠 형식 맞추기

시간 제한1초메모리 제한1024 MB

요약
주어진 문장의 단어마다 음절 수를 규칙에 따라 세고, 단어를 나누어 5, 7, 5음절의 세 줄을 만들 수 있는지 판단합니다.
난이도

쉬움10점 중 3점

유형
문자열, 시뮬레이션
정답자
아직 제출이 없습니다

문제

하이쿠는 세 줄로 된 시이다. 첫째 줄과 셋째 줄은 각각 음절이 55개이고, 둘째 줄은 음절이 77개이다.

하이쿠의 예는 다음과 같다.

Blue Ridge mountain road.
Leaves, glowing in autumn sun,
fall in Virginia.

영어 문장 한 줄을 읽고, 그 문장을 하이쿠 형태로 만들 수 있는지 판단하는 프로그램을 작성하라. 이를 위해 각 단어의 음절 수를 아래 규칙에 따라 세어야 한다.

  • 단어는 0개 이상의 알파벳 문자(대문자 또는 소문자)가 최대한 길게 이어진 부분에, 공백이 아니고 알파벳도 아닌 문자가 0개 이상 붙은 것이다.

    • 음절을 셀 때는 대소문자를 구별하지 않지만, 출력에서는 입력의 대소문자를 그대로 유지한다.
    • 음절을 셀 때는 알파벳이 아닌 문자를 무시하지만, 출력에서는 그대로 남긴다.
  • 'A', 'E', 'I', 'O', 'U', 'Y'는 모음이다. 그 밖의 알파벳은 자음이다.

    예외는 다음과 같다.

    • 문자열 "QU"는 자음 하나로 본다.
    • 'Y'는 바로 뒤에 다른 모음이 오면 자음으로 본다.
  • 모든 단어는 적어도 하나의 음절을 가진다. 예를 들어 "Fly", "I", "!?", "Ssshhh!"는 음절이 하나인 단어이다.

  • 양쪽에 모음이 있는 자음이 하나 이상 최대한 길게 이어지면, 그 자리에서 음절이 나뉜다. 예를 들어 "strong"은 음절이 1개, "stronger"는 2개, "bookkeeper"는 3개이다. "player"는 'y' 뒤에 'e'가 오므로 'y'를 자음으로 보아 음절이 2개이다.

    예외는 다음과 같다.

    • 단어 끝의 알파벳 'E'는 묵음이므로 무시한다. 다만 끝에서 두 번째 알파벳이 'L'이고 그 앞이 자음이면 무시하지 않는다. 예를 들어 "cake", "ale", "pale"은 음절이 1개이고, "able"은 2개이다.
    • 단어 끝의 'ES'는 바로 앞에 자음이 두 개 이상 있을 때가 아니면 음절을 더하지 않는다. 예를 들어 "ales"와 "pales"는 음절이 1개이고, "witches"와 "verses"는 2개이다.

입력

입력은 한 줄의 텍스트이며, 위에서 정의한 단어 하나 이상이 공백 하나로 구분되어 있다. 한 줄의 길이는 200200자를 넘지 않는다.

출력

입력의 단어들을 하이쿠로 나눌 수 있으면, 하이쿠를 세 줄로 출력한다.

  • 각 줄은 왼쪽 정렬한다.
  • 한 줄 안에서 인접한 두 단어 사이는 공백 하나로 구분한다.
  • 입력의 대소문자를 그대로 유지한다.
  • 각 단어 끝에 붙은 알파벳이 아닌 문자를 그대로 유지한다.
  • 한 단어를 여러 줄에 걸쳐 나눌 수 없다.

입력의 단어들을 하이쿠로 나눌 수 없으면, 입력 줄을 바꾸지 않고 그대로 출력한다.

예제4

  1. 예제 1

    입력
    Blue Ridge mountain road. Leaves, glowing in autumn sun, fall in Virginia.
    
    예상 출력
    Blue Ridge mountain road.
    Leaves, glowing in autumn sun,
    fall in Virginia.
    
  2. 예제 2

    입력
    Who would know if we had too few syllables?
    
    예상 출력
    Who would know if we had too few syllables?
    
  3. 예제 3

    입력
    International contest- motivation high Programmers have fun!.
    
    예상 출력
    International
    contest- motivation high
    Programmers have fun!.
    
  4. 예제 4

    입력
    Programming contest is stressing us all out. International pain.
    
    예상 출력
    Programming contest is stressing us all out. International pain.