Tantangan:
Diberikan bilangan bulat positif, hasilkan keluaran satu digit terpanjang yang terjadi setidaknya dua kali, DAN memiliki batas digit lain (atau awal / akhir bilangan bulat).
Sebuah contoh:
Input: 7888885466662716666
Hasil terpanjang dari satu digit adalah 88888
( 7[88888]5466662716666
) dengan panjang 5. Namun, urutan ini hanya terjadi satu kali dalam bilangan bulat.
Sebaliknya, hasil untuk input 7888885466662716666
harus 6666
( 78888854[6666]271[6666]
), karena itu terjadi (setidaknya) dua kali.
Aturan tantangan:
- Panjang urutan mengambil prioritas dari jumlah kali itu terjadi. (Yaitu dengan input
8888858888866656665666
, kami output88888
([88888]5[88888]66656665666
; panjang 5, terjadi dua kali), dan tidak666
(88888588888[666]5[666]5[666]
; panjang 3, terjadi tiga kali). - Jika panjang beberapa kali sama, kita hasilkan satu dengan jumlah kejadian terbesar. Yaitu dengan input
3331113331119111
, kami output111
(333[111]333[111]9[111]
; panjang 3, terjadi tiga kali), dan tidak333
([333]111[333]1119111
; panjang 3 juga, tetapi terjadi dua kali) - Jika jumlah-kejadian dan panjang dari beberapa urutan sama, Anda dapat menampilkan salah satu dari mereka, atau semua (dalam urutan apa pun). Yaitu dengan masukan
777333777333
, mungkin output adalah:777
;333
;[777, 333]
; atau[333, 777]
. - Selanjutnya harus memiliki batas digit lainnya (atau awal / akhir bilangan bulat). Yaitu dengan input
122222233433
hasilnya adalah33
(1222222[33]4[33]
; panjang 2, terjadi dua kali) dan tidak222
(1[222][222]33433
, panjang 3, terjadi dua kali dengan keduanya tidak valid).- Ini berlaku untuk semua angka yang diperhitungkan pada penghitung-kejadian. Yaitu dengan input
811774177781382
hasilnya adalah8
([8]117741777[8]13[8]2
; panjang 1, terjadi tiga kali) dan tidak77
(811[77]41[77]781382
/811[77]417[77]81382
; panjang 2, terjadi dua kali dengan satu tidak valid) atau1
(8[1][1]774[1]7778[1]382
; panjang 1, terjadi empat kali dengan dua tidak valid).
- Ini berlaku untuk semua angka yang diperhitungkan pada penghitung-kejadian. Yaitu dengan input
- Anda dapat berasumsi bahwa input tidak akan mengandung digit apa pun
0
(akan cocok[1-9]+
) (Ini untuk menghindari keharusan berurusan dengan kasus uji seperti10002000
yang seharusnya dihasilkan000
, di mana sebagian besar bahasa akan menampilkan0
secara default.) - Anda dapat berasumsi bahwa input akan selalu mengandung setidaknya satu output yang valid.
- I / O keduanya fleksibel. Dapat berupa daftar / larik / aliran digit / byte / karakter atau sebagai string, bukan bilangan bulat tunggal.
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, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
Input: 7888885466662716666 / [7,8,8,8,8,8,5,4,6,6,6,6,2,7,1,6,6,6,6]
Output: 6666 / [6,6,6,6]
Input: 3331113331119111 / [3,3,3,1,1,1,3,3,3,1,1,1,9,1,1,1]
Output: 111 / [1,1,1]
Input: 777333777333 / [7,7,7,3,3,3,7,7,7,3,3,3]
Possible outputs: 777; 333; [777,333]; [333;777] / [7,7,7]; [3,3,3]; [[7,7,7],[3,3,3]]; [[3,3,3],[7,7,7]]
Input: 122222233433 / [1,2,2,2,2,2,2,3,3,4,3,3]
Output: 33 / [3,3]
Input: 811774177781382 / [8,1,1,7,7,4,1,7,7,7,8,1,3,8,2]
Output: 8 / [8]
Input: 555153333551 / [5,5,5,1,5,3,3,3,3,5,5,1]
Output: 1 / [1]
Input: 12321 / [1,2,3,2,1]
Possible outputs: 1; 2; [1,2]; [2,1] / [1]; [2]; [[1],[2]]; [[2],[1]]
Input: 944949949494999494 / [9,4,4,9,4,9,9,4,9,4,9,4,9,9,9,4,9,4]
Output: 4 / [4]
Input: 8888858888866656665666 / [8,8,8,8,8,5,8,8,8,8,8,6,6,6,5,6,6,6,5,6,6,6]
Output: 88888 / [8,8,8,8,8]
Input: 1112221112221111 / [1,1,1,2,2,2,1,1,1,2,2,2,1,1,1,1]
Output: 111; 222; [111,222]; [222,111] / [1,1,1]; [2,2,2]; [[1,1,1],[2,2,2]]; [[2,2,2],[1,1,1]]
Input: 911133111339339339339339 / [9,1,1,1,3,3,1,1,1,3,3,9,3,3,9,3,3,9,3,3,9,3,3,9]
Output: 111 / [1,1,1]
222
ketika dibatasi oleh bilangan bulat lainnya. Saya kira kita tidak seharusnya menghitung kejadian yang merupakan substring dari 1111
. Lebih baik menunggu OP.
1112221112221111
ini adalah subsequences dan jumlah mereka: 1111 (1)
, 111 (2)
, 222 (2)
. Karena kita hanya output urutan terjadi setidaknya dua kali, output dapat menjadi salah satu dari: 111
, 222
,[111,222]
, [222,111]
. (Lihat aturan keempat untuk informasi lebih lanjut.) Pada dasarnya 1111
hanya akan dianggap sebagai 1111
, dan bukan sebagai 1
dan 111
atau 11
dan 11
. Saya akan menambahkan test case Anda, tetapi hasilnya salah satu atau keduanya 111
dan 222
.
8888858888866656665666
. Jika saya mengartikan tantangan dengan benar, solusi Brachylog dan 05AB1E gagal.