ETL

ETL

Media

Introducción

Trabajas para una empresa que desarrolla un juego multijugador en línea llamado Lexiconia.

Para jugar, cada jugador recibe 13 letras, que debe reordenar para formar palabras. Unas letras valen más puntos que otras, ya que con algunas es más fácil formar palabras que con otras.

El juego se lanzó originalmente en inglés, pero tiene mucho éxito, y ahora la empresa quiere ampliarlo también a otros idiomas.

Cada idioma necesita admitir distintos valores de puntos para las letras. Los valores de puntos vienen determinados por la frecuencia con que se usan las letras en comparación con las demás letras de ese idioma.

Por ejemplo, la letra «C» es bastante común en inglés y solo vale 3 puntos. Pero en noruego es una letra muy poco frecuente y vale 10 puntos.

Para que sea más fácil añadir nuevos idiomas, tu equipo necesita cambiar la forma en que se almacenan las letras y sus valores de puntos en el juego.

Instrucciones

Tu tarea consiste en cambiar el formato de los datos de las letras y sus valores en puntos en el juego.

Actualmente, las letras se almacenan en grupos según su puntuación, en una correspondencia de uno a muchos.

  • 1 punto: «A», «E», «I», «O», «U», «L», «N», «R», «S», «T»,
  • 2 puntos: «D», «G»,
  • 3 puntos: «B», «C», «M», «P»,
  • 4 puntos: «F», «H», «V», «W», «Y»,
  • 5 puntos: «K»,
  • 8 puntos: «J», «X»,
  • 10 puntos: «Q», «Z»,

Esto hay que cambiarlo para almacenar cada letra individual con su puntuación en una correspondencia de uno a uno.

  • «a» vale 1 punto.
  • «b» vale 3 puntos.
  • «c» vale 3 puntos.
  • «d» vale 2 puntos.
  • etc.

Como parte de este cambio, el equipo también ha decidido cambiar las letras a minúsculas en lugar de mayúsculas.

Note

Si quieres ver cómo estaban estructurados los datos antes y cómo tienen que cambiar, echa un vistazo a los ejemplos del conjunto de pruebas.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Ruby Exercism

¿Listo para empezar ETL?

Regístrate en Exercism para aprender y dominar Ruby con 21 conceptos121 ejercicios y mentoría humana real, todo gratis.