Pengantar:
Di Belanda, kata-kata memimpin dan menderita, masing-masing 'leiden' dan 'lijden', diucapkan dengan cara yang sama. Satu ditulis dengan "ei pendek", dan satu dengan "ij panjang" , seperti yang akan dikatakan oleh orang Belanda, tetapi 'ei' dan 'ij' dilafalkan [ɛi].
Tantangan:
Diberikan daftar angka, tentukan yang mana (jika ada) yang memimpin, dan mana (jika ada) yang menderita.
Nomor utama adalah:
- Angka positif
- Setidaknya memiliki empat digit
- Berada dalam 50% tertinggi dari daftar dalam hal nilai
- Masih di 50% tertinggi dari daftar dalam hal nilai, jika digit ke-3 diganti dengan digit ke-2, dan posisi ke-2 digit-nya diisi dengan angka 0 (yaitu
1234
akan menjadi1024
)
Jumlah yang menderita adalah:
- Angka negatif
- Setidaknya memiliki empat digit
- Berada di 50% terendah dari daftar dalam hal nilai
- Masih di 50% terendah dari daftar dalam hal nilai, jika digit ke-3 diganti dengan digit ke-2, dan posisi ke-2 digit diisi dengan angka 0 (artinya
-4321
akan menjadi-4031
)
Contoh:
Input: [5827, 281993, 3918, 3854, -32781, -2739, 37819, 0, 37298, -389]
Output: memimpin [5827, 281993, 37819, 37298]
:; penderitaan:[-32781, -2739]
Penjelasan:
Jika kita mengurutkan dan membagi angka menjadi dua, itu adalah:
[[-32781, -2739, -389, 0, 3798], [3854, 3918, 5827, 37819, 281993]]
Hanya ada dua angka negatif dengan setidaknya empat digit: [-32781, -2739]
. Mengubah digit seperti dijelaskan di atas tidak akan mengubah posisi mereka, sehingga keduanya adalah angka penderitaan.
Untuk membagi dua terbesar, semua angka memiliki setidaknya empat digit: [3854, 3918, 5827, 37819, 281993]
. Mengubah digit seperti yang dijelaskan di atas akan mengubah beberapa posisi mereka. The 3854
akan menjadi 3084
, meletakkannya di bawah 3798
yang di terendah 50%, sehingga 3854
bukan nomor terkemuka di daftar ini. Hal yang sama berlaku untuk 3918
yang akan menjadi 3098
, juga meletakkannya di bawah 3798
. Tiga angka lainnya sedang memimpin, seperti 5827
yang akan terjadi 5087
, yang masih di atas 3798
dan pada kenyataannya masih pada indeks yang sama dari daftar yang diurutkan. Begitu[5827, 37819, 281993]
adalah angka utama.
Aturan tantangan:
- I / O fleksibel. Input-list dapat berupa daftar bilangan bulat, daftar digit 2D, daftar string, dll. Output dapat berupa daftar daftar bilangan bulat, dua daftar terpisah, dua string, keduanya dicetak ke STDOUT, dll.
- Saat menentukan apakah suatu angka memimpin / menderita, kita hanya melihat posisi barunya dari angka itu jika hanya digitnya yang diubah, bukan setelah kita menerapkan modifikasi pada semua angka.
- Kami menampilkan angka asli, bukan yang dimodifikasi.
- Angka-angka dalam daftar keluaran terkemuka dan menderita bisa dalam urutan apa pun.
- Jika ukuran daftar input ganjil, angka di tengah tidak termasuk setengah.
- Angka dijamin tetap unik setelah dimodifikasi. Jadi daftar seperti
[0, 1, 1045, 1485]
bukan daftar input yang valid, karena1485
akan sama dengan1045
setelah modifikasi itu.
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 pun'. - 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: [5827, 281993, 3918, 3854, -32781, -2739, 37819, 0, 37298, -389]
Output: leading: [5827, 281993, 37819, 37298]; suffering: [-32781, -2739]
Input: [-100, 472, 413, -1782]
Output: leading: []; suffering: [-1782]
Input: [-1234, -1235, -1236, 1234, 1235, 1236]
Output: leading: [1234, 1235, 1236]; suffering: [-1234, -1235, -1236]
Input: [-1919, -1819, -1719, -1619, -1500, -1444, 40, 4444, 18]
Output: leading: [4444]; suffering: []
Input: [-1004, -1111, -1000]
Output: leading: []; suffering: [-1111]
Input: [-1004, -1111, -1010, 1000]
Output: leading: [1000]; suffering: [-1111]
Input: [1000, -1000]
Output: leading: [1000]; suffering: [-1000]
Input: [1000, -5000, 4000]
Output: leading: [4000]; suffering: [-5000]