Ihre Aufgabe ist es, zu bestimmen, ob eine bestimmte Zeichenfolge die richtige Länge hat und mit Scrabble-Kacheln dargestellt werden kann, und in diesem Fall die Summe der Punkte jedes Buchstabens auszugeben.
Wenn Sie nicht wissen, wie man Scrabble spielt: Sie haben 100 Kacheln mit verschiedenen Buchstaben von A bis Z sowie zwei Platzhalter, die für jeden Buchstaben stehen können. Jeder Buchstabe hat eine bestimmte Anzahl von Punkten, und jedes Plättchen (aber nicht unbedingt ein Wort) kann nur einmal verwendet werden. Wenn ein Wort gespielt wird, wird der Punktewert jedes verwendeten Plättchens addiert, was zur Punktzahl wird. Da nur eine begrenzte Anzahl von Buchstaben verfügbar ist, kann ein Wort nur so oft einen bestimmten Buchstaben haben, wie der Buchstabe Kacheln + nicht verwendete Platzhalter enthält. Die Scrabble-Tafel besteht aus 15 × 15 Zellen, daher muss das Wort zwischen 2 und 15 Zeichen lang sein.
Eine Liste der Anzahl und Punktzahl der einzelnen Buchstaben in der englischen Version finden Sie unten oder unter http://boardgames.about.com/od/scrabble/a/tile_distribute.htm ( Archiv ).
Buchstabenanzahl Punkte Buchstabenanzahl Punkte ------------------- ------------------- A 9 1 O 8 1 B 2 3 P 2 3 C 2 3 Q 1 10 D 4 2 R 6 1 E 12 1 S 4 1 F 2 4 T 6 1 G 3 2 U 4 1 H 2 4 V 2 4 I 9 1 W 2 4 J 1 8 X 1 8 K 1 5 Y 2 4 L 4 1 Z 1 10 M 2 3 [wild] 2 0 N 6 1
Weitere Regeln
- Das Programm soll eine einzelne Folge von Eingaben von STDIN oder dergleichen annehmen.
- Die Eingabe enthält immer nur Großbuchstaben.
- Wenn die Zeichenfolge mehr Kopien eines Buchstabens enthält, als Platzhalter oder Kacheln für diesen Buchstaben nicht verwendet wurden, ODER wenn die Länge der Zeichenfolge nicht zwischen 2 und 15 einschließlich liegt, sollte das Programm eine Ausgabe durchführen
Invalid
. - Andernfalls sollte die Punktzahl mit den Daten aus der obigen Tabelle addiert und ausgegeben werden.
- Verwenden Sie keine Platzhalter, es sei denn, dies ist erforderlich.
- Sorgen Sie sich nicht um Boni wie doppelte Wortwerte oder ob die Zeichenfolge ein echtes Wort ist.
- Das Programm soll das Ergebnis über STDOUT oder dergleichen ausgeben.
- Lücken, die standardmäßig verboten sind, sind nicht erlaubt.
- Die Verwendung einer externen Quelle wie einer Website sowie von Bibliotheken, APIs, Funktionen oder Ähnlichem, die Scrabble-Scores oder geeignete Mengen berechnen, ist nicht zulässig.
- Das ist Code-Golf , also gewinnen die wenigsten Bytes.
Komplettlösung
Input: CODEGOLF
C -> 3, O -> 1, D -> 2, E -> 1, G -> 2, O -> 1, L -> 1, F -> 4
3 + 1 + 2 + 1 + 2 + 1 + 1 + 4 = 15
Output: 15
Testfälle
Input-Output ------------------------ SCRABBLE 14 JAZZ 19 STACKEXCHANGE 32 XYWFHQYVZVJKHFW 81 PIZZAZZ Ungültig KIXOKEJAJAX Ungültig MISUNDERSTANDING Ungültig
-1
?
Invalid
.