Tantangan:
Diberikan daftar bilangan bulat, urutkan menurun berdasarkan satu digit terbesarnya. Urutan angka dengan digit terbesar yang sama kemudian diurutkan berdasarkan digit terbesar kedua, dll.
Kami mengabaikan digit yang digandakan dalam angka. Dan jika semua digit dalam angka sama, urutan angka-angka itu dalam daftar bisa dengan cara apa pun yang Anda inginkan.
Contoh:
Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373]
Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0]
[8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0]
Mengapa? Berikut adalah angka-angka yang relevan dengan nomor yang diurutkan:
Output:
[8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0 ]
Relevant digits they were sorted on:
[[9,8], [9,4], [8,7,6], [8,7,4], [8,7,3], [8,6], [7,3], [7,3], [3,2,1,0], [3,2,1], [0]]
Aturan tantangan:
- Kami mengabaikan digit yang digandakan, jadi
478dan-7738akan dipesan sebagai478, -7738, karena digit terbesar adalah[8,7,4]dan[8,7,3], dan bukan[8,7,4]dan[8,7,7,3]. - Jika beberapa angka memiliki angka yang sama, urutannya dapat berupa apa saja. Jadi
373dan-73dapat disortir karena keduanya373, -73atau-73, 373(digit[7,3]untuk kedua angka ini). - Jika suatu angka tidak mengandung lagi angka untuk diperiksa, angka itu akan ditempatkan di belakang angka yang relevan. Jadi
123dan3120akan disortir sebagai3120, 123, karena digit terbesarnya[3,2,1]sama, tetapi0ada sebelumnyanone. - Anda dapat menganggap semua angka dalam input berada dalam kisaran
[-999999,999999]. - Hanya satu dari kemungkinan keluaran yang cukup sebagai hasilnya, tetapi Anda diizinkan untuk mengeluarkan semua kemungkinan keluaran di mana sublist dapat dalam permutasi apa pun jika Anda mau (walaupun saya ragu itu akan menghemat byte dalam bahasa apa pun).
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda dengan aturan I / O default , sehingga Anda diizinkan untuk menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda (yaitu TIO ).
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
Input: [123, 478, -904, 62778, 0, -73, 8491, 3120, 6458, -7738, 373]
Possible outputs: [8491, -904, 62778, 478, -7738, 6458, 373, -73, 3120, 123, 0]
[8491, -904, 62778, 478, -7738, 6458, -73, 373, 3120, 123, 0]
Input: [11, -312, 902, 23, 321, 2132, 34202, -34, -382]
Possible outputs: [902, -382, 34202, -34, -312, 321, 2132, 23, 11]
[902, -382, 34202, -34, 2132, -312, 321, 23, 11]
etc. The sublist [-312, 321, 2132] can be in any permutation
Input: [9, 44, 2212, 4, 6, 6, 1, 2, 192, 21, 29384, 0]
Possible outputs: [29384, 192, 9, 6, 6, 4, 44, 2212, 21, 2, 1, 0]
[29384, 192, 9, 6, 6, 44, 4, 2212, 21, 2, 1, 0]
etc. The sublists [4, 44] and [2212, 21] can be in any permutation
Input: [44, -88, 9, 233, -3, 14, 101, 77, 555, 67]
Output: [9, -88, 67, 77, 555, 14, 44, 233, -3, 101]
m:g/\d./untuk.abs.comb: tio.run/…