Problème
Vous êtes coincé dans une cabane au milieu des bois, avec seulement un vieux jeu de scrabble pour vous divertir. Lors de l'inspection, vous constatez que les lettres de scrabble sont tellement usées que seuls les points de chaque lettre sont visibles.
Néanmoins, vous décidez de jouer à un jeu. Vous sortez sept lettres du sac et les placez sur votre plateau. Votre défi consiste à déterminer ce que ces lettres pourraient être.
Donc, généralement, étant donné une liste de points, convertissez-le en une chaîne ou une liste de lettres possible.
Tuiles de Scrabble et Distributions
- 2 tuiles vierges (marquant 0 points)
- 1 point: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, U × 4
- 2 points: D × 4, G × 3
- 3 points: B × 2, C × 2, M × 2, P × 2
- 4 points: F × 2, H × 2, V × 2, W × 2, Y × 2
- 5 points: K × 1
- 8 points: J × 1, X × 1
- 10 points: Q × 1, Z × 1
Donc, si vous avez une liste de points [10,10,8,5,1,1,1]
alors alors "QZJKEEE"
serait valide mais "QQJKEEE"
ne serait pas valide (puisqu'il y a seulement 1 tuile Q dans le sac)
Règles spécifiques aux problèmes
- Vous pouvez supposer que toutes les entrées sont valides et qu'il y aura toujours 7 tuiles (c'est-à-dire qu'il n'y aura pas de liste de sept tuiles à 10 points et ne sera pas 9 tuiles)
- Vous pouvez supposer qu'aucune tuile n'a été précédemment retirée du sac (la distribution est donc la distribution standard des tuiles anglais telle que définie ci-dessus)
- Vous n'avez pas à générer un mot valide, mais uniquement une chaîne de lettres valide.
- L'ordre de votre chaîne n'a pas d'importance tant qu'il y a une lettre pour chaque mosaïque.
- Les points sont basés sur les points de mosaïque de scrabble anglais standard définis ci-dessus.
- Vous pouvez sortir en majuscules ou en minuscules, pour une tuile vierge, vous pouvez écrire un caractère d'espacement ou un trait de soulignement '_'
- Votre réponse peut générer une représentation raisonnable des mosaïques telle qu'une liste, une chaîne, un tableau ou une séquence.
Règles générales:
- C'est du code-golf , donc la réponse la plus courte en octets est gagnante.
Ne laissez pas les langues de code-golf vous décourager de poster des réponses avec des langues autres que le code de golf. Essayez de trouver une réponse aussi courte que possible à n'importe quel langage de programmation. - Les règles standard s'appliquent à votre réponse avec les règles d'E / S par défaut . Vous êtes donc autorisé à utiliser STDIN / STDOUT, fonctions / méthode avec les paramètres appropriés et des programmes complets de type de retour, de type renvoyé. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code (c.-à-d. TIO ).
- En outre, l'ajout d'une explication de votre réponse est fortement recommandé.
Cas de test
De toute évidence, étant donné que vous pouvez générer toute valeur possible, il est difficile de définir des cas de test stricts.
Quelques cas avec une valeur de retour valide possible :
[10,0,10,5,8,8,0] -> "Q ZKJX "
[1,1,1,1,1,1,1] -> "EEEEEEE"
[1,2,3,4,5,8,0] -> "NDBHKJ "
[2,2,2,2,2,2,2] -> "DGDGDGD"
Quelques cas avec une valeur de retour invalide :
[10,0,10,5,8,8,0] -> "Q QKJX " - Too many Qs
[1,1,1,1,1,1,1] -> "EEEEEE " - Space is 0 points not 1
[1,2,3,4,5,8,0] -> "NDBH" - Too short
[1,2,3,4,5,8,0] -> "NDBHKJ I" - Too long
[1,2,3,4,5,8,0] -> "ÉDBHKJ1" - Contains none scrabble characters
[2,2,2,2,2,2,2] -> "GDGDGDG" - Contains too many Gs (case for invalid cycling)
[2,2,2,2,2,2,2]
(le seul cas où il est important de commencer par une méthode D
plutôt que par G
une méthode de cyclisme)