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

[백준/python] 9226:도깨비말

rlawhdgus 2022. 1. 30. 21:28

https://www.acmicpc.net/problem/9226

 

9226번: 도깨비말

도깨비말은 언어 유희 중 하나로, 글자를 특정 법칙에 따라 재구성하는 것을 말한다. 영어권에서는 피그라틴어라는 것이 있다. 주로 어린이들이 많이 쓰는 데, 남들에게 무슨 말인지 모르게 하

www.acmicpc.net

 

import sys
while True:
    x=input()
    tex=list(x)
    if x=='#':
        sys.exit()
    fix=['a','e','i','o','u']
    s=0
    for i in tex:
        if i in fix:
            s=1
            break
    if s==0:
        tex.extend('ay')
        b=''.join(tex)
        print(b)
    
        continue

    

    for i in range(len(tex)):
        if tex[0] in fix:
            break
        else:
            y=tex.pop(0)
            tex.append(y)

    tex.extend('ay')
    b=''.join(tex)
    print(b)

 

문제푼과정

문제가 이해가 되지않아 질문검색칸을 둘러보다가 문제에 모음이아닐때까지라는 부분이 자음이아닐때까지가 맞는 번역임을 알게되었고 이해가 되었다. 

입력이 끝날때까지 계속 받기 위해서 while True 반복문을 사용했다. 먼저 모음이 없는 경우이면 s값에 변화를 주어 바로 멈추고 ay를 붙인 값을 print한뒤 다시 처음으로 돌아가게하였다. 자음이 앞에 있는 경우에는 pop으로 빼고 append로 다시 뒤로 넣어주었다. 앞에 모음이 오면 멈추고 값을 맞게 print하였다