Saya baru-baru ini memanjakan diri dalam beberapa nostalgia dalam bentuk Kutu Buku Deluxe:
Jika Anda belum pernah melihatnya, ini adalah permainan kata yang tujuannya adalah untuk menghubungkan ubin yang berdekatan untuk membentuk kata-kata. Untuk menentukan apakah string adalah kata yang valid, string akan diperiksa terhadap kamus internalnya, yang disimpan dalam format terkompresi yang terlihat seperti ini:
aa
2h
3ed
ing
s
2l
3iis
s
2rdvark
8s
4wolf
7ves
Aturan untuk membongkar kamus sederhana:
Baca angka di awal baris, dan salin banyak karakter dari awal kata sebelumnya. (Jika tidak ada nomor, salin karakter sebanyak yang Anda lakukan terakhir kali.)
Tambahkan huruf-huruf berikut ke kata.
Jadi, kata pertama kami adalah aa
, diikuti oleh 2h
, yang berarti "menyalin dua huruf pertama aa
dan menambahkan h
," membentuk aah
. Kemudian 3ed
menjadi aahed
, dan karena baris berikutnya tidak memiliki angka, kami menyalin 3 karakter lagi untuk membentuk aahing
. Proses ini berlanjut di seluruh kamus. Kata-kata yang dihasilkan dari input sampel kecil adalah:
aa
aah
aahed
aahing
aahs
aal
aaliis
aals
aardvark
aardvarks
aardwolf
aardwolves
Tantangan Anda adalah melakukan pembongkaran ini dalam sesedikit mungkin byte.
Setiap baris input akan berisi nol atau lebih digit 0-9
diikuti oleh satu atau lebih huruf kecil a-z
. Anda dapat mengambil input dan memberikan output sebagai daftar string, atau sebagai string tunggal dengan kata-kata yang dipisahkan oleh karakter selain 0-9
/ a-z
.
Berikut ini adalah test case kecil lainnya dengan beberapa case edge yang tidak dicakup dalam contoh:
abc cba 1de fg hi 0jkl mno abcdefghijk 10l
=> abc cba cde cfg chi jkl mno abcdefghijk abcdefghijl
Anda juga dapat menguji kode Anda pada kamus lengkap: input , output .
locate
Program menggunakan jenis encoding pada nama path.
0
akan memiliki nomor0
s?