ETL

ETL

Medio

Introduzione

Lavori per un'azienda che produce un gioco online multigiocatore chiamato Lexiconia.

Per giocare, ogni giocatore riceve 13 lettere, che deve riordinare per formare delle parole. Lettere diverse hanno valori in punti diversi, perché con alcune lettere è più facile formare parole che con altre.

Il gioco è stato lanciato originariamente in inglese, ma è molto popolare e ora l'azienda vuole espandersi anche ad altre lingue.

Lingue diverse devono supportare valori in punti diversi per le lettere. I valori in punti dipendono da quanto spesso le lettere vengono usate rispetto alle altre lettere di quella lingua.

Per esempio, la lettera «C» è piuttosto comune in inglese e vale solo 3 punti. In norvegese, invece, è una lettera molto rara e vale 10 punti.

Per rendere più semplice aggiungere nuove lingue, il tuo team deve cambiare il modo in cui le lettere e i loro valori in punti vengono memorizzati nel gioco.

Istruzioni

Il tuo compito è cambiare il formato dei dati delle lettere e dei loro valori in punti nel gioco.

Al momento, le lettere sono memorizzate in gruppi in base al loro punteggio, in una mappatura uno-a-molti.

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

Questo va cambiato per memorizzare ogni singola lettera con il suo punteggio in una mappatura uno-a-uno.

  • «a» vale 1 punto.
  • «b» vale 3 punti.
  • «c» vale 3 punti.
  • «d» vale 2 punti.
  • ecc.

Nell'ambito di questo cambiamento, il team ha anche deciso di rendere le lettere minuscole invece che maiuscole.

Note

Se vuoi vedere come erano strutturati prima i dati e come devono cambiare, dai un'occhiata agli esempi nella suite di test.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Ruby Exercism

Vuoi iniziare ETL?

Iscriviti a Exercism per imparare e padroneggiare Ruby con 21 concetti121 esercizi e il mentoring di persone reali, tutto gratis.