Problem
Utknąłeś w chatce pośrodku lasu, z tylko starą sceną do zabawy. Po inspekcji widać, że litery scrabble są tak zużyte, że widoczne są tylko punkty dla każdej litery.
Niemniej jednak decydujesz się na grę. Wyciągasz siedem liter z torby i umieszczasz je na tacy, a Twoim zadaniem jest ustalenie, jakie mogą być te litery.
Ogólnie biorąc, biorąc pod uwagę listę punktów, zamień ją na dowolny możliwy ciąg lub listę liter.
Scrabble Tiles and Distribution
- 2 puste kafelki (zdobycie 0 punktów)
- 1 punkt: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, U × 4
- 2 punkty: D × 4, G × 3
- 3 punkty: B × 2, C × 2, M × 2, P × 2
- 4 punkty: F × 2, H × 2, V × 2, W × 2, Y × 2
- 5 punktów: K × 1
- 8 punktów: J × 1, X × 1
- 10 punktów: Q × 1, Z × 1
Więc jeśli masz listę punktów, [10,10,8,5,1,1,1]
to "QZJKEEE"
byłby ważny, ale "QQJKEEE"
nie byłby ważny (ponieważ w torbie jest tylko 1 płytka Q)
Zasady specyficzne dla problemu
- Możesz założyć, że wszystkie dane wejściowe są prawidłowe i że zawsze będzie 7 płytek (tzn. Nie będzie to lista siedmiu 10-punktowych płytek i nie będzie 9 płytek)
- Możesz założyć, że wcześniej nie wyciągnięto żadnych płytek z torby (więc rozkład jest standardowym rozkładem angielskich płytek, jak zdefiniowano powyżej)
- Nie musisz generować prawidłowego słowa, tylko prawidłowy ciąg liter.
- Kolejność łańcucha nie ma znaczenia, o ile dla każdej płytki znajduje się odpowiednia litera.
- Punkty są oparte na standardowych angielskich punktach kafelka, jak zdefiniowano powyżej.
- Możesz pisać wielkimi lub małymi literami, dla pustego kafelka możesz wypisać znak spacji lub znak podkreślenia „_”
- Twoja odpowiedź może być wyświetlana jako dowolna uzasadniona reprezentacja kafelków, taka jak Lista, Łańcuch, Tablica lub Sekwencja
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły z domyślnymi regułami We / Wy , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami i typem zwracanych, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem kodu (tj. TIO ).
- Zalecane jest również dodanie wyjaśnienia do odpowiedzi.
Przypadki testowe
Oczywiście, ponieważ można podać dowolną możliwą wartość, trudno jest zdefiniować ścisłe przypadki testowe.
Niektóre przypadki z możliwą prawidłową wartością zwracaną:
[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"
Niektóre przypadki z niepoprawną wartością zwracaną:
[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]
(jedyny przypadek, w którym ważne jest, aby zacząć od D
zamiast G
metody cyklicznej)