Terinspirasi oleh rantai komentar ini ...
Saya ingin
enklact
jalan keluar dari tantangan ini, tetapi saya tidak bisa ...@ETHproductions to enklact (v): untuk mengimplementasikan tabel pencarian menggunakan subbagian yang terdiri dari elemen unik.
Enklacting adalah cara yang sangat berguna untuk memampatkan tabel pencarian. Misalnya, katakanlah Anda memiliki daftar warna berikut:
red
green
blue
yellow
purple
orange
Jika Anda ingin dapat mengambil warna sebagai input dan mengembalikan indeksnya dalam daftar ini, jelas ada cara mudah:
["red", "green", "blue", "yellow", "purple", "orange"].index(input())
Tapi ada cara yang bisa kita lakukan dengan byte lebih sedikit:
"rgbypo".index(input()[0])
Ini berfungsi karena indeks pertama (atau 0) dari setiap string unik. Contoh ini jelas, tetapi kadang-kadang sedikit lebih sulit. Bagaimana jika kita ingin membuat tabel pencarian untuk daftar ini?
Sweet Onion Chicken Teriyaki
Oven Roasted Chicken
Turkey Breast
Italian BMT
Tuna
Black Forest Ham
Meatball Marinara
Dalam hal ini, kami tidak dapat melakukan ini:
"SOTITBM".index(input()[0])
karena ada dua input berbeda yang dimulai dengan 'T'
, yaitu "Tuna" dan "Turki". Kita harus melihat indeks yang berbeda. Jika Anda melihat indeks ke-4 dari setiap string, Anda akan melihat bahwa semuanya unik. Jadi kita bisa melakukan ini ...
"enklact".index(input()[3])
Dalam hal ini, "string enklaction" adalah "enklact".
Itu membawa kita ke tantangan hari ini ...
Diberikan daftar string, kembalikan string enklaction yang valid. Atau dengan kata lain, diberi daftar string, kembalikan string baru di mana setiap huruf unik, dan string dibentuk dengan menggabungkan huruf ke-i dari setiap string.
Jika tidak ada string enklaction yang valid, kiriman Anda harus mengembalikan string kosong atau nilai falsy yang konsisten. Seperti biasa, fungsi atau program lengkap diizinkan, dan format input / output permisif (sesuai alasan).
Setiap string hanya akan berisi ASCII yang dapat dicetak, dan tantangan ini peka huruf besar-kecil.
Ini kode-golf , jadi cobalah menulis program sesingkat mungkin dalam bahasa pilihan Anda!
Uji kasus
Input:
Programming
Puzzles
Code
Golf
Output (any one of these):
"ozdl"
"gzef"
Input:
the quick
brown fox
jumped over
lazy dogs
Output:
"tbjl"
"hrua"
"eomz"
" wpy"
"qne "
"if o"
"kxvs"
Note that "u dd" and "coog" are not valid.
Input:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Output:
""
Input:
AbC
aBc
bbC
Output:
"Aab"
Input:
@#$%^_
Hello_World
How are you?
Output:
"#eo"
"$lw"
"%l "
"^oa"
Input:
a
ab
ac
Output:
""