Ini alfabet fonetis:
Alfa
Bravo
Charlie
Delta
Echo
Foxtrot
Golf
Hotel
India
Juliett
Kilo
Lima
Mike
November
Oscar
Papa
Quebec
Romeo
Sierra
Tango
Uniform
Victor
Whiskey
X-ray
Yankee
Zulu
Dalam byte sesedikit mungkin:
- Masukan akan berupa kata-kata ini dalam urutan acak, dengan huruf pertama dihapus.
- Tujuan Anda adalah mengatur kata-kata kembali ke urutan semula hanya menggunakan huruf yang Anda miliki sekarang . Dengan kata lain: cari tahu bagaimana '[A] lfa' datang sebelum '[B] ravo', dan seterusnya. Kode Anda tidak boleh merujuk daftar asli, kunci indeks, dll.
- Kembalikan huruf pertama asli dari setiap kata.
Aturan
- Tanda hubung dalam X-ray mungkin jahat, tetapi perlu tetap, karena saya juga jahat.
- Hasilnya dapat berupa string (dipisahkan koma atau baris baru), atau array.
- Kasus ejaan dan surat tidak dapat dinegosiasikan.
- Tidak perlu menampilkan contoh output dalam jawaban.
code-golf
data-structures
alphabet
rybo111
sumber
sumber
Jawaban:
Jelly , 21 byte
Input dan output adalah array string.
Cobalah online!
Latar Belakang
Meskipun ada 26! = 403291461126605635584000000 input yang berbeda, kita dapat mengurutkan input sehingga kita harus berurusan hanya dengan satu permutasi dari alfabet fonetis ini. Mengurutkan secara leksikografis, kami dapatkan
Kita cukup mengindeks ke dalam array ini untuk mengurutkannya berdasarkan huruf yang dihapus. Indeks (berbasis 1) adalah
Yang perlu dilakukan adalah menambahkan huruf besar alfabet ke string dalam hasil.
Bagaimana itu bekerja
sumber
Python 3 ,
7671 byteCobalah online!
sumber
JavaScript, 169/195 byte
Jika mengganti huruf pertama bisa dilakukan sebelum mengurutkan 169 byte
Cobalah online!
Jika penyortiran harus dilakukan sebelum menambahkan huruf pertama 195 byte
Cobalah online!
20 byte penuh dari masing-masing program ini hanyalah String.fromCharCode () untuk mendapatkan kembali karakter ...
69 byte lainnya adalah string yang secara unik mengidentifikasi awal setiap kata dalam alfabet fonetik.
Penjelasan contoh pertama
for(i=0;i<26;)if(!k.indexOf("l,r,ha,e,c,ox,ol,ot,nd,uli,il,im,ik,ov,s,ap,ue,o,ie,ang,n,i,h,-,a,u".split
,[i++]))return i
String yang dikodekan di sini dipisahkan menjadi daftar karakter pengidentifikasi unik yang memulai kata-kata alfabet fonetik setelah karakter pertama dihapus.
Informasi ini digunakan untuk menemukan indeks di mana string jatuh dalam alfabet untuk mengembalikan karakter awal.
JavaScript secara implisit mengurutkan sebagai string oleh nilai-nilai ASCII dari karakter
Penjelasan dari contoh kedua
Fungsi g = k => ... menemukan indeks di mana string harus jatuh dalam alfabet fonetik.
Mengurutkan string dengan angka yang dikembalikan dengan melakukan g (...)
Mengganti karakter pertama dari masing-masing string alfabet fonetis
sumber
.sort()
jawaban 169 byte Anda? Dalam pertanyaan itu menyatakan " 3. Kembalikan huruf pertama asli dari setiap kata. ", Tetapi tidak menyebutkan output harus diurutkan juga.PHP , 94 byte
Cobalah online!
sumber
05AB1E ,
2927 byteCobalah online!
-2 Berkat magis Emigna
.•
.sumber
.•C5ê™вrΓ˜3åóMîõxÿ•u
.A-Za-z0-9
bukan0-9A-Za-z
?Java 7, 169 byte
Coba di sini.
Penjelasan:
sumber