Pertanyaan ini didasarkan pada pertanyaan yang saya ajukan dalam bahasa Spanyol . Ya, saya meminta algoritma dalam Bahasa Spanyol. :)
Di Spanyol, plat nomor saat ini memiliki pola ini:
1234 XYZ
di mana XYZ adalah tiga konsonan yang diambil dari set konsonan Spanyol penuh (kecuali 'Ñ', saya pikir).
Terkadang, saat bepergian dengan istri saya, kami biasa bermain game. Ketika kita melihat plat nomor, kita mengambil tiga konsonan dan mencoba untuk membentuk sebuah kata yang mengandung ketiga konsonan itu, muncul dalam urutan yang sama seperti pada plat nomor. Contoh (dalam bahasa Spanyol):
BCD
BoCaDo (valid)
CaBezaDa (not valid)
FTL
FaTaL (valid)
FLeTar (not valid)
FTR
FleTaR (valid, wins)
caFeTeRa (valid, loses)
Pemenangnya adalah orang yang menggunakan jumlah karakter paling sedikit, seperti yang Anda lihat pada contoh terakhir.
Tantangan
Tulis program atau fungsi terpendek yang menerima daftar kata dan satu set tiga konsonan dan temukan kata terpendek dalam daftar yang berisi tiga konsonan dalam urutan yang sama. Untuk tujuan permainan ini, kasus tidak masalah.
- Input untuk daftar kata (parameter pertama) akan menjadi array dari
string
jenis bahasa Anda . Parameter kedua (tiga konsonan) akan menjadi yang lainstring
. Jika lebih baik untuk bahasa Anda, pertimbangkanstring
dengan tiga konsonan item terakhir dari seluruh daftar parameter. Output akan menjadi yang lainstring
. - Kata-kata dalam daftar kata tidak akan ditemukan atau kata-kata yang tak terbatas, kata-kata yang akan muncul dalam kamus standar apa pun. Jika Anda membutuhkan batas, anggap tidak ada kata dalam daftar kata yang akan lebih panjang dari 50 karakter.
- Jika ada beberapa kata dengan panjang yang sama yang bisa menjadi jawaban yang valid, Anda dapat mengembalikan salah satu dari mereka. Pastikan Anda mengembalikan hanya satu kata, atau string kosong jika tidak ada kata yang cocok dengan pola tiga konsonan.
- Anda dapat mengulangi konsonan dalam grup, jadi input yang valid untuk ketiga konsonan adalah keduanya
FLR
danGGG
. - Konsonan Spanyol persis sama dengan bahasa Inggris, dengan penambahan "Ñ". Vokal sama dengan adition dari vokal yang ditekankan: "áéíóúü". Tidak akan ada tanda lain seperti "-" atau "'".
- Anda dapat mengira bahwa kasusnya akan selalu sama dalam daftar kata dan tiga konsonan.
Jika Anda ingin menguji algoritme Anda dengan koleksi nyata kata-kata Spanyol, Anda dapat mengunduh file (15,9 MB) dari Dropbox dengan lebih dari satu juta kata.
Uji kasus
Input: 'psr', {'hola' 'repasar' 'pasarais' 'de' 'caída' 'pequeñísimo' 'agüeros'}
Output: 'repasar'
Input: 'dsd', {'dedos' 'deseado' 'desde' 'sedado'}
Output: 'desde'
Input: 'hst', {'hastío' 'chest'}
Output: 'chest'
Ini adalah kode-golf , jadi semoga program terpendek yang membantu saya untuk selalu mengalahkan kemenangan istri saya! :)