Masalah
Anda terjebak di sebuah pondok di tengah hutan, dengan hanya scrabble tua yang diatur untuk menghibur diri sendiri. Setelah diperiksa Anda melihat bahwa surat-surat scrabble begitu dikenakan, sehingga hanya poin untuk setiap huruf yang terlihat.
Meskipun demikian Anda memutuskan untuk bermain game. Anda menarik tujuh huruf dari tas dan meletakkannya di baki Anda, tantangan Anda adalah untuk menentukan apa huruf-huruf itu.
Jadi secara umum, diberi daftar poin mengubahnya menjadi string atau daftar surat yang mungkin.
Ubin dan Distribusi Scrabble
- 2 ubin kosong (mencetak 0 poin)
- 1 poin: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, S × 4, U × 4
- 2 poin: D × 4, G × 3
- 3 poin: B × 2, C × 2, M × 2, P × 2
- 4 poin: F × 2, H × 2, V × 2, W × 2, Y × 2
- 5 poin: K × 1
- 8 poin: J × 1, X × 1
- 10 poin: Q × 1, Z × 1
Jadi jika Anda memiliki daftar poin [10,10,8,5,1,1,1]
maka "QZJKEEE"
akan valid tetapi "QQJKEEE"
tidak akan valid (karena hanya ada 1 ubin Q di tas)
Masalah Aturan Khusus
- Anda dapat mengasumsikan semua input valid dan akan selalu ada 7 petak (mis. Itu tidak akan menjadi daftar tujuh petak 10 poin dan tidak akan ada 9 petak)
- Anda dapat mengasumsikan tidak ada ubin yang sebelumnya ditarik dari tas (jadi distribusinya adalah distribusi standar ubin bahasa Inggris seperti yang ditentukan di atas)
- Anda tidak harus membuat kata yang valid, hanya serangkaian huruf yang valid.
- Urutan string Anda tidak relevan selama untuk setiap ubin ada huruf yang sesuai.
- Poin didasarkan pada poin ubin scrabble inggris standar seperti yang didefinisikan di atas.
- Anda dapat menampilkan dalam huruf besar atau kecil, untuk ubin kosong Anda dapat menampilkan karakter spasi atau garis bawah '_'
- Jawaban Anda dapat ditampilkan sebagai representasi ubin yang wajar seperti Daftar, String, Array, atau Urutan
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa yang bukan kode. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda dengan aturan I / O default , sehingga Anda diizinkan untuk menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda (yaitu TIO ).
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Uji Kasus
Jelas karena Anda dapat menampilkan nilai yang mungkin, sulit untuk menentukan kasus pengujian yang ketat.
Beberapa kasus dengan kemungkinan nilai pengembalian yang valid :
[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"
Beberapa kasus dengan nilai pengembalian tidak valid :
[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]
(satu-satunya kasing yang penting untuk memulai dengan menggunakan metode bersepeda D
daripada G
jika)