Problema
Estás atrapado en una cabaña en medio del bosque, con solo un viejo juego de scrabble para entretenerte. Tras la inspección, verá que las letras de Scrabble están tan gastadas que solo los puntos de cada letra son visibles.
No obstante, decides jugar un juego. Sacas siete letras de la bolsa y las colocas en tu bandeja, tu desafío es determinar cuáles podrían ser esas letras.
Entonces, generalmente, dada una lista de puntos, conviértalo en cualquier posible cadena o lista de letras.
Scrabble Tiles y Distribuciones
- 2 fichas en blanco (puntuación de 0 puntos)
- 1 punto: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, U × 4
- 2 puntos: D × 4, G × 3
- 3 puntos: B × 2, C × 2, M × 2, P × 2
- 4 puntos: F × 2, H × 2, V × 2, W × 2, Y × 2
- 5 puntos: K × 1
- 8 puntos: J × 1, X × 1
- 10 puntos: Q × 1, Z × 1
Entonces, si tiene una lista de puntos, [10,10,8,5,1,1,1]
entonces "QZJKEEE"
sería válido pero "QQJKEEE"
no sería válido (ya que solo hay 1 Q mosaico en la bolsa)
Reglas específicas del problema
- Puede suponer que todas las entradas son válidas y que siempre habrá 7 mosaicos (es decir, no será una lista de siete mosaicos de 10 puntos y no serán 9 mosaicos)
- Puede suponer que no se han extraído previamente fichas de la bolsa (por lo que la distribución es la distribución estándar de las fichas en inglés como se definió anteriormente)
- No tiene que generar una palabra válida, solo una cadena de letras válida.
- El orden de su cadena es irrelevante siempre que para cada mosaico haya una letra correspondiente.
- Los puntos se basan en los puntos de mosaico de Scrabble en inglés estándar como se definió anteriormente.
- Puede mostrar en mayúsculas o minúsculas, para un mosaico en blanco puede mostrar un carácter de espacio o un guión bajo '_'
- Su respuesta puede aparecer como cualquier representación razonable de los mosaicos, como una lista, cadena, matriz o secuencia
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de codegolf. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Las reglas estándar se aplican a su respuesta con las reglas de E / S predeterminadas , por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código (es decir, TIO ).
- Además, se recomienda agregar una explicación para su respuesta.
Casos de prueba
Obviamente, dado que puede generar cualquier valor posible, es difícil definir casos de prueba estrictos.
Algunos casos con un posible valor de retorno válido :
[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"
Algunos casos con un valor de retorno no válido :
[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]
(el único caso en el que es importante comenzar con un método de ciclismo en D
lugar de uno G
si se usa)