Program harus menampilkan surat yang paling berpasangan. Misalnya, jika program Anda diberi string berikut:
"Sally's friend Bobby searched for seashells."
itu harus keluar L
karena "ll"
terjadi dua kali, yang lebih sering daripada pasangan lainnya "bb"
.
Aturan:
- Jika lebih dari satu huruf memiliki tempat pertama untuk kemunculannya, maka keluarkan semuanya dalam urutan abjad (mis.
"Sally's friends Jimmy and Bobby rummaged for seashells."
Harus menampilkan keduanyaL
DANM
[atau"LM"
jika Anda] karena keduanya lebih sering terjadi daripada pasangan lain.) - Surat-surat yang tiga kali lipat, empat kali lipat, dll dihitung sebagai satu pasangan (misalnya
"lll"
dalam"willless"
dihitung hanya satu pasanganL
.) - Pasangan surat harus dalam satu kata (misalnya
"Sally's sociable friends Sammy and Bobby searched for fabulous seashells."
harus keluarL
dan bukanS
karena meskipun"ss"
memiliki lebih banyak kejadian daripada"ll"
, mereka dipisahkan oleh spasi.) - Hitung hanya huruf dari alfabet bahasa Inggris
- Kasus tidak masalah (mis
"Ss"
. Sama dengan"SS"
atau"ss"
, dan semua dihitung sebagai satu pasanganS
.)
Anda dapat membaca input Anda dari mana pun Anda mau. Kode terpendek menang.
'
dll?['l']
?Jawaban:
Pyth,
2625241615 byteCobalah online: Demonstrasi
Penjelasan:
sumber
eC
->s
menyimpan satu byte.Bash + GNU coreutils, 133
Testcases:
sumber
11ss11aa
-> SA)11ss11aa
-> AS :)sort -r
perlusort -rn
jika Anda memiliki 10 atau lebih surat berpasangan.CJam,
2927 byteTerima kasih kepada @Optimizer untuk bermain golf 2 byte!
Cobalah online di juru bahasa CJam .
Bagaimana itu bekerja
sumber
z~\)-,>
harus bekerja sejauh yang saya bisa lihat.Pyth -
23222120 bytesMenggunakan substitusi regexp untuk mengganti semua dua atau lebih dari alfabet ke nilai temp, dan menggunakan
.M
sumbu untuk mendapatkan semua yang memiliki kemunculan tertinggi. Terima kasih kepada @Jakube karena menunjukkan redundansi penyortiran dan penghematan byte.Mengambil input dari stdin dan output seperti
['l', 'm']
ke stdout.Cobalah online di sini .
sumber
C, 155
Sesuatu yang berbeda, tidak ada regexps.
sumber
Python 2,
132143 byteContoh dijalankan:
sumber
CJam, 37 byte
Cobalah online
Tanpa dukungan ekspresi reguler, saya khawatir akan sulit untuk bersaing dengan Pyth. Ini adalah yang terbaik yang saya dapatkan pada pass pertama.
Penjelasan:
sumber
Q (66)
Dapat terbaca untuk di-boot:
sumber
R, 105 byte
Ini membaca satu baris teks dari STDIN dan mencetak daftar terbatas ruang dari surat berpasangan yang paling umum untuk STDOUT.
Penjelasan + tidak dikumpulkan:
Contoh:
Anda dapat mencobanya secara online !
sumber
toupper
jika Anda mengabaikan case dan menggunakan perl di komputer Andagregexpr
. misalnyacat(substr(names(b<-table(regmatches(s<-readline(),gregexpr("(\\w)\\1+",s,T,T))))[b==max(b)],1,1))
toupper
untuk memastikannya.Ruby, 60
group_by
menciptakan struktur hash (kamus) di mana kunci adalah output dari blok dan nilainya adalah daftar huruf yang menghasilkan setiap kunci. Dalam hal ini, kuncinya adalah hitungan 2+ run dari huruf, tidak sensitif huruf.max
membandingkan setiap[key,value]
tuple secara leksikografis, sehingga hanya menemukan kunci maksimum. Kemudian[1]
mengembalikan daftar nilai bagian dari tuple.sumber
Python 2,
185 159153Mengambil input sebagai string yang dikutip.
sumber
C # 160 Bytes
Di mana
s
input:sumber
rs, 146 byte
Cobalah! Silahkan! Saya butuh selamanya untuk membuat tombol bahkan dengan kotak output pada halaman itu ...
Yah, ini cukup ... gila. Logikanya di sini agak aneh; Saya hanya akan memposting penjelasan jika seseorang bertanya. (Tentu saja, saya juga mengatakan bahwa untuk jawaban INTERCAL yang penjelasannya diminta ... yang tidak pernah saya jelaskan ...;)
sumber
JavaScript
156153sumber
f[s]?f[s]+1:1
->-~f[s]
Count only letters from the English alphabet
f=x=>{x.toUpperCase(f={},a=0,o).replace(/([A-Z])\1+/g,(m,s)=>a<(m=f[s]=-~f[s])?(a=m,o=[s]):a>m?0:o.push(s));alert(o.sort().join'')}
(2 'terakhir benar-benar backticks, & # 96Bash + textutils (grep, sed), 111 karakter
Bash + awk (bukannya sed), 97 karakter
untuk mengujinya, tetapkan dulu s
sumber
R, 98 byte
Sangat mirip dengan solusi Alex, tetapi menggunakan subtitusi daripada pertandingan untuk menentukan huruf berturut-turut. Scan digunakan untuk mendapatkan input dan juga untuk membagi hasil substitusi pada spasi.
Beberapa tes
sumber