문제
도깨비말은 언어 유희 중 하나로, 글자를 특정 법칙에 따라 재구성하는 것을 말한다.
영어권에서는 피그라틴어라는 것이 있다. 주로 어린이들이 많이 쓰는 데, 남들에게 무슨 말인지 모르게 하기 위해 종종 쓴다.
여기엔 규칙이 있는데, 맨 앞글자가 모음이 아닐때 까지 맨 앞 글자를 어미로 돌린 후 그 끝에 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))
'Koala - 14기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python3] 3985번 롤 케이크 (0) | 2024.04.08 |
---|---|
[백준/c++] 2869번: 달팽이는 올라가고 싶다 (0) | 2024.04.07 |
[백준/Python] 1051번 숫자 정사각형 (0) | 2024.04.07 |
[백준 / c++] 3986 (0) | 2024.04.07 |
[백준/Java] 11652번 : 카드 (0) | 2024.04.04 |