Tugas Anda adalah menentukan apakah string yang diberikan memiliki panjang yang sesuai dan dapat diwakili dengan ubin Scrabble dan, jika demikian, output jumlah skor setiap huruf.
Jika Anda tidak tahu cara bermain Scrabble :, Anda memiliki 100 ubin dengan berbagai huruf A – Z yang tercetak di atasnya, serta dua wildcard yang dapat mewakili huruf apa pun. Setiap huruf memiliki jumlah poin tertentu, dan setiap ubin (tetapi tidak harus kata) hanya dapat digunakan satu kali. Ketika sebuah kata dimainkan, nilai poin dari setiap ubin yang digunakan ditambahkan, yang menjadi skor. Karena jumlah surat yang tersedia terbatas, sebuah kata hanya dapat memiliki huruf tertentu sebanyak surat itu memiliki ubin + setiap wildcard yang tidak digunakan. Papan Scrabble berukuran 15 × 15 sel, jadi kata itu harus antara 2 dan 15 karakter.
Untuk daftar jumlah dan skor setiap huruf dalam versi bahasa Inggris, lihat di bawah atau http://boardgames.about.com/od/scrabble/a/tile_distribute.htm ( arsip ).
Letter Qty Points Letter Qty Points ------------------- ------------------- 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 [liar] 2 0 N 6 1
Aturan lebih lanjut
- Program harus mengambil satu string input dari STDIN atau sejenisnya.
- Masukan akan selalu hanya berisi huruf besar.
- Jika string berisi lebih banyak salinan surat daripada ada wildcard atau ubin yang tidak digunakan untuk surat itu ATAU panjang string tidak antara 2 dan 15 inklusif, program harus menampilkan
Invalid
. - Jika tidak, skor harus ditambahkan dengan menggunakan data dari bagan di atas dan output.
- Jangan gunakan wildcard kecuali jika diperlukan.
- Jangan khawatir tentang bonus seperti skor kata ganda atau apakah string itu kata yang nyata.
- Program harus menampilkan hasilnya melalui STDOUT atau sejenisnya.
- Celah yang dilarang secara default tidak diizinkan.
- Menggunakan sumber eksternal seperti situs web, serta perpustakaan, API, fungsi, atau sejenisnya apa pun yang menghitung skor Scrabble atau jumlah yang tepat tidak diizinkan.
- Ini adalah kode-golf , byte paling sedikit menang.
Panduan
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
Testcases
Input output ------------------------ GELOMBANG 14 JAZZ 19 STACKEXCHANGE 32 XYWFHQYVZVJKHFW 81 PIZZAZZ Tidak Valid KIXOKEJAJAX Tidak Valid MISUNDERSTANDING Tidak Valid
-1
,?
Invalid
.