Kita semua tahu tentang algoritma pengurutan mewah yang berbeda, tetapi tidak ada yang memberikan angka dengan cara yang mudah diucapkan. Untuk mengatasinya, saya usulkan menggunakan PengucapanSort ™, cara paling alami untuk mengurutkan daftar angka.
Pengucapan
Aturan resmi untuk mengucapkan angka (dalam tantangan ini) adalah bahwa angka diucapkan satu per satu, dan string yang dihasilkan diurutkan dalam urutan leksikografis. Sebagai contoh, ini berarti bahwa jumlahnya 845
diucapkan "eight four five"
, dan harus diurutkan sesuai.
Angka negatif
Angka negatif diucapkan dengan mengawali kata "minus"
. Jadi, -23
dilafalkan sebagai "minus two three"
. Perhatikan bahwa ini menyebabkan angka negatif berakhir di tengah-tengah output, tepat di antara angka-angka yang dimulai dengan 4
(empat) dan 9
(sembilan).
Sebagai panduan, urutan kata resmi untuk PengucapanSort ™ adalah:
- delapan
- lima
- empat
- minus
- sembilan
- satu
- tujuh
- enam
- tiga
- dua
- nol
Itu adalah,
8, 5, 4, -, 9, 1, 7, 6, 3, 2, 0
Memasukkan
Daftar bilangan bulat dalam rentang , berisi paling banyak 100 elemen. Masukan sebagai daftar string tidak diizinkan. Jika bahasa Anda tidak mendukung input sebagai daftar, maka diperbolehkan untuk memberikan input sebagai bilangan bulat terpisah.
Input tidak akan berisi angka yang tidak valid, atau angka apa pun yang dimulai dengan 0 (kecuali angka 0 itu sendiri). Input umumnya tidak akan diurutkan, itu dapat diberikan dalam urutan apa pun.
Keluaran
Bilangan bulat yang sama, dalam urutan PengucapanSort ™. Perhatikan bahwa angka-angka hanya harus dikonversi ke pengucapannya untuk mendapatkan penyortiran, output tidak boleh mengandung string.
Contohnya
Sebagai contoh, langkah tengah (dibungkus dengan tanda kurung) hanya berfungsi sebagai panduan, dan bukan bagian dari output.
[1, 2, 3] -> (['one', 'two', 'three']) -> [1, 3, 2]
[-1, 0, 1, 2] -> (['minus one', 'zero', 'one', 'two']) -> [-1, 1, 2, 0]
[-100, 45, 96] -> (['minus one zero zero', 'four five', 'nine six']) -> [45, -100, 96]
[11, 12, 13, 134, 135] -> (['one one', 'one two', 'one three', 'one three four', 'one three five']) -> [11, 13, 135, 134, 12]
Ada juga skrip untuk memverifikasi hasil Anda .