부모님이 여러분과 형제자매에게 2대2 농구 한 판을 제안했어요. 이길 자신이 있었던 부모님은 처음 몇 점은 여러분이 넣도록 봐주셨지만, 이내 경기를 장악하기 시작하셨어요. 조금 기운을 내야 했던 여러분은 Pig Latin으로 말하기 시작해요. Pig Latin은 아이들이 만들어 낸 언어라서 아이가 아닌 사람은 알아듣기 어려워요. 이렇게 하면 부모님을 이길 우위를 얻을 수 있어요!
이번 과제는 영어 텍스트를 Pig Latin으로 번역하는 거예요. 번역은 네 가지 규칙으로 정의되는데, 각 규칙은 단어 맨 앞에 오는 모음과 자음의 패턴을 살펴봐요. 규칙은 단어가 모음과 자음을 어떻게 쓰는지 봐요:
a, e, i, o, u 글자단어가 모음으로 시작하거나 "xr" 또는 "yt"로 시작하면, 단어 끝에 "ay" 소리를 붙여요.
예를 들면:
"apple" -> "appleay" (모음으로 시작해요)"xray" -> "xrayay" ("xr"로 시작해요)"yttria" -> "yttriaay" ("yt"로 시작해요)단어가 하나 이상의 자음으로 시작하면, 먼저 그 자음들을 단어 끝으로 옮기고, 그다음 단어 끝에 "ay" 소리를 붙여요.
예를 들면:
"pig" -> "igp" -> "igpay" (자음 하나로 시작해요)"chair" -> "airch" -> "airchay" (자음 여러 개로 시작해요)"thrush" -> "ushthr" -> "ushthray" (자음 여러 개로 시작해요)단어가 자음 0개 이상 뒤에 "qu"가 오는 형태로 시작하면, 먼저 그 자음들(있는 경우)과 "qu" 부분을 단어 끝으로 옮기고, 그다음 단어 끝에 "ay" 소리를 붙여요.
예를 들면:
"quick" -> "ickqu" -> "ickquay" ("qu"로 시작하고 앞에 자음이 없어요)"square" -> "aresqu" -> "aresquay" (자음 하나 뒤에 "qu"로 시작해요)단어가 하나 이상의 자음 뒤에 "y"가 오는 형태로 시작하면, 먼저 "y" 앞에 오는 자음들을 단어 끝으로 옮기고, 그다음 단어 끝에 "ay" 소리를 붙여요.
몇 가지 예를 들면:
"my" -> "ym" -> "ymay" (자음 하나 뒤에 "y"로 시작해요)"rhythm" -> "ythmrh" -> "ythmrhay" (자음 여러 개 뒤에 "y"로 시작해요)Exercism에 가입하고 Lua 트랙을 연습 문제 117개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.
패턴 매칭과 정규 표현식, 그리고 멋진 Prolog 풀이도 살펴보고, 이렇게 물어봐요. 연습 문제를 제대로 푼 걸까요, 그저 테스트만 통과시킨 걸까요?