Tus padres los han desafiado a ti y a tu hermano a un partido de baloncesto dos contra dos. Confiados en que van a ganar, los dejan anotar los primeros puntos, pero después empiezan a tomar el control del partido. Como necesitan un pequeño empujón, empiezan a hablar en Pig Latin, un idioma inventado de niños que es difícil de entender para quienes ya no son niños. ¡Eso les dará la ventaja que necesitan para imponerse a sus padres!
Tu tarea es traducir texto del inglés al Pig Latin. La traducción se define con cuatro reglas, que se fijan en el patrón de vocales y consonantes al principio de una palabra. Estas reglas se fijan en el uso de vocales y consonantes en cada palabra:
a, e, i, o y u
Si una palabra empieza con una vocal, o comienza con "xr" o "yt", agrega un sonido "ay" al final de la palabra.
Por ejemplo:
"apple" -> "appleay" (empieza con una vocal)"xray" -> "xrayay" (empieza con "xr")"yttria" -> "yttriaay" (empieza con "yt")Si una palabra empieza con una o más consonantes, primero mueve esas consonantes al final de la palabra y luego agrega un sonido "ay" al final de la palabra.
Por ejemplo:
"pig" -> "igp" -> "igpay" (empieza con una sola consonante)"chair" -> "airch" -> "airchay" (empieza con varias consonantes)"thrush" -> "ushthr" -> "ushthray" (empieza con varias consonantes)Si una palabra empieza con cero o más consonantes seguidas de "qu", primero mueve esas consonantes (si las hay) y la parte "qu" al final de la palabra, y luego agrega un sonido "ay" al final de la palabra.
Por ejemplo:
"quick" -> "ickqu" -> "ickquay" (empieza con "qu", sin consonantes precedentes)"square" -> "aresqu" -> "aresquay" (empieza con una consonante seguida de "qu")Si una palabra empieza con una o más consonantes seguidas de "y", primero mueve las consonantes que preceden a la "y" al final de la palabra, y luego agrega un sonido "ay" al final de la palabra.
Algunos ejemplos:
"my" -> "ym" -> "ymay" (empieza con una sola consonante seguida de "y")"rhythm" -> "ythmrh" -> "ythmrhay" (empieza con varias consonantes seguidas de "y")Regístrate en Exercism para aprender y dominar Roc con 120 ejercicios y mentoría humana real, todo gratis.
Echamos un vistazo a la coincidencia de patrones y a las expresiones regulares, además de una buena solución en Prolog, y nos preguntamos: ¿resolviste el ejercicio o solo lograste que pasaran las pruebas?