Pig Latin

Pig Latin

Intermedia

Introducción

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!

Instrucciones

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:

  • las vocales: las letras a, e, i, o y u
  • las consonantes: las otras 21 letras del alfabeto inglés

Regla 1

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")

Regla 2

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)

Regla 3

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")

Regla 4

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")

Instrucciones específicas del track

Los bytes 64-319 de la memoria lineal están reservados para el string de entrada.

El string de entrada se puede modificar en el mismo lugar si lo deseas.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
WebAssembly Exercism

¿Todo listo para empezar Pig Latin?

Regístrate en Exercism para aprender y dominar WebAssembly con 87 ejercicios y mentoría humana real, todo gratis.

¡Profundiza en Pig Latin!

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?