Terkait: Validasi plot batang-dan-daun
Memasukkan
Daftar bilangan bulat positif yang tidak kosong. Jika perlu, mereka dapat diambil sebagai string. Anda tidak dapat menganggap itu disortir.
Keluaran
Sebuah rencana induk-dan-daun nomor. Dalam sebuah plot ini stem-and-leaf, nomor diperintahkan menjadi batang oleh puluhan, maka semua nomor yang sesuai dengan batang yang memiliki orang yang mereka nilai ditempatkan ke batang, dan kemudian semua diurutkan. Dalam tantangan ini, baris baru memisahkan batang, dan ruang memisahkan batang dari daun.
Anda dapat memasukkan atau mengecualikan semua batang kosong yang berada di antara batang tidak kosong.
Uji Kasus
(daftar dapat diambil dalam daftar standar bahasa Anda, saya menggunakan JSON untuk yang di bawah)
Termasuk batang kosong:
[1, 2, 3, 3, 3, 3, 3, 10, 15, 15, 18, 1, 100]
0 11233333
1 0558
2
3
4
5
6
7
8
9
10 0
[55, 59, 49, 43, 58, 59, 54, 44, 49, 51, 44, 40, 50, 59, 59, 59]
4 034499
5 0145899999
[10000, 10100]
1000 0
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010 0
Tidak termasuk batang kosong:
[1, 2, 3, 3, 3, 3, 3, 10, 15, 15, 18, 1, 100]
0 11233333
1 0558
10 0
[55, 59, 49, 43, 58, 59, 54, 44, 49, 51, 44, 40, 50, 59, 59, 59]
4 034499
5 0145899999
[10000, 10100]
1000 0
1010 0
Jawaban:
R , 12 byte
Cobalah online!
Penjelasan:
sumber
stem
akan cukup, karena dibutuhkan array sebagai input.stem
:)Jelly , 17 byte
Cobalah online!
sumber
Python 2 ,
787579 byteCobalah online!
sumber
Retina ,
3830 byteTerima kasih kepada Neil untuk menyimpan 2 byte, dan untuk Leo karena telah menyimpan 6 byte lagi.
Hitungan byte mengasumsikan penyandian ISO 8859-1.
Input adalah daftar bilangan bulat yang dipisahkan baris-umpan. Output menghilangkan awalan kosong.
Cobalah online!
sumber
(?<=(\b.+ ).)¶\1
menghemat dua byte.JavaScript (ES6), 89 byte
sumber
Python 2 ,
1461401331241201181091079086849182817063 byte-6 byte terima kasih kepada Rod. -9 byte berkat ovs.
Cobalah online!
Oke, ada sesuatu yang sedikit miring. Seperti yang harus diketahui oleh semua programmer Python, dikt adalah unordered, artinya urutan asli dari pasangan kunci-nilai tidak dipertahankan. Namun, dalam kode saya saat ini, saya sama sekali tidak mengurutkan dict. Namun, saya telah menguji beberapa kali, memeriksa kesetaraan dan ketertiban setiap saat, dan dikte selalu keluar dengan benar. Jika ada yang menyangkal bahwa itu selalu benar atau tahu mengapa ini berhasil, saya ingin tahu.
Input sebagai daftar python dan output sebagai dict. Contoh:
Memasukkan:
Keluaran:
sumber
r[i/10]=r.get(i/10,'')+`i%10`
untuk 82 byteMathematica, 103 byte
Kode diambil dari jawaban yang dihapus @ user202729
sumber
> <> , 84 byte
Cobalah online , atau di taman bermain ikan !
Asumsikan nomor input sudah ada di tumpukan .
Penjelasan: Pertama, kami mengurutkan tumpukan menggunakan semacam gelembung , dengan sedikit kode ini:
Selanjutnya, kita menghitung integer-quotient dari hal pertama dalam stack dengan menggunakan 10
::a%-a,
, memasukkannya ke dalam register, dan melalui stack mencetak digit terakhir dari angka sampai digit pertama mereka tidak sama dengan register, kemudian menambah register dan melanjutkan. Ketika kami mencapai akhir daftar, ditandai dengan a0
, kami berhenti.sumber
PostgreSQL, 53 byte
Daftar bilangan bulat harus berada di
integer
kolomn
tabel yang adat
. Hasilnya adalah tabel dua kolom: setiap baris terdiri dari kolom "batang" dan kolom "daun". Kolom "daun" dalam format array JSON. (Seperti yang tercantum dalam komentar, tidak perlu mematuhi persis format yang ditunjukkan di bawah "Kasus Uji".)Meskipun urutan batang tidak dijamin (untuk menyimpan 10 byte,
ORDER BY 1
dihilangkan dari akhir permintaan), dalam pengujian saya, batang tampaknya berakhir dalam urutan yang benar.Lihat hasil pada SQL Fiddle
sumber