Koala - 14기/기초 알고리즘 스터디

[백준/Python] 9226번 도깨비말

알 수 없는 사용자 2024. 4. 7. 22:53

문제

도깨비말은 언어 유희 중 하나로, 글자를 특정 법칙에 따라 재구성하는 것을 말한다.

영어권에서는 피그라틴어라는 것이 있다. 주로 어린이들이 많이 쓰는 데, 남들에게 무슨 말인지 모르게 하기 위해 종종 쓴다. 

여기엔 규칙이 있는데, 맨 앞글자가 모음이 아닐때 까지 맨 앞 글자를 어미로 돌린 후 그 끝에 ay를 붙여서 완성한다. 예를 들면 frog는 ogfray이 된다. 만약 맨 앞자음이 없는 apple과 같은 경우는 끝에 ay만 붙여 appleay가 된다. 또는, 단어에 모음이 없는 경우에도 단어의 끝에 ay만 붙인다.

주어진 단어를 피그라틴어로 바꾸는 프로그램을 작성하시오.

입력

한 줄에 하나의 단어씩 주어진다. 그리고 마지막 줄에 #을 입력받고 끝낸다.

주어진 단어는 20자를 넘지 않고 공백없이 소문자로만 이루어져있다. 여기서 모음이란 'a', 'e', 'i', 'o', 'u' 를 말한다.

출력

한 줄에 하나씩 피그라틴어를 출력한다.

코드

def to_pig_latin(word):

            vowels = {'a','e','i','o','u'}

            if word[0] in vowels:

                           return word + 'ay'

           for i, char in enumerate(word):

                            if char in vowels:

                                       return word[i:] + word[:i] + 'ay'

         return word + 'ay'

words = []    //입력받기

while True:

     word = input()

     if word = '#'

            break

    words.append(word)

for word in words:    //피그라틴어로 변환하여 출력하기

    print(to_pig_latin(word))