Surat-surat dari kata-kata itu menginginkan keadilan.
Mereka memutuskan untuk tampil beberapa kali dalam kalimat yang sama.
Contoh:
Priorities
Akan menjadi:
Ppprrioooritttieeesss
Setiap huruf muncul 3 kali, seperti huruf yang paling umum i
, muncul 3 kali.
Tidak masalah di mana Anda meletakkan huruf-huruf yang diulang, asalkan di sebelah huruf yang sama.
Yaitu:
Pppriooorritttieeesss
tidak apa-apa (huruf 'r')
Ppprioororitttieeesss
tidak baik (huruf 'r')
Contoh lain:
invoice
Akan menjadi:
innvvooiccee
Contoh lain:
Remittance Advice
Akan menjadi:
Rrremmmiitttaannncce Adddvvvice
Spasi, koma, tanda tanya, kutipan, dll. Tidak dianggap sebagai huruf untuk tantangan ini. Hanya perlu mempertimbangkan [a-zA-Z]. Sekali ruang saja sudah cukup, dan urutan hurufnya harus tetap sama.
Kapitalisasi huruf tidak menjadi masalah, huruf besar dan kecil dihitung sebagai huruf yang sama. Yaitu: Pip
memiliki 2 'P's dan 1' I ', sehingga akan menjadi Piip
.
Ini adalah huruf yang tidak sensitif jika dalam bentuk apa pun, Piip=piip=piiP=PiiP
Ini adalah kode-golf
sumber
Jawaban:
05AB1E , 16 byte
Cobalah online!
Penjelasan
sumber
R , 106 byte
Cobalah online!
Pendekatan Basis:
+
operator R.sumber
Perl 6 , 82 byte
-3 byte terima kasih kepada nwellnhof
Cobalah online!
Mengambil string yang bisa berubah dan memodifikasinya.
Penjelasan:
sumber
.=
seperti operatora.=lc.=subst(...)
. Saya tidak yakin apakah mengubah huruf yang ada diperbolehkan. Juga<:L>
bukannya<:Ll>
.JavaScript (ES6), 112 byte
Cobalah online!
Berkomentar
sumber
o[l] = // updates o[l] to a non-numeric value
. Jika saya mengerti benar,o
apakah integer-array di dalamF
dang
fungsinya, tetapi berubah menjadi string-array yang menahan satu atau lebih kali karakterc
pada bagian yang saya sebutkan sebelumnya? Juga, saya kira nilai-nilaio
secaraundefined
default, karena Anda menggunakano[l]=-~o[l]
bukan++o[l]
?o[l]
ke huruf, setiap iterasi selanjutnya dengan huruf yang sama akan mengarah kem - o[l] --> NaN
(bilangan minus huruf) danl.repeat(NaN) == ''
. (Tentang poin terakhir: ya, itu benar.)J ,
335646 byteCobalah online!
Tidak dapat menemukan cara untuk menghindari penggunaan
~:tolower
dua kali.Bagaimana itu bekerja
sumber
R + stringr, 108 byte
Saya tidak terlalu pandai
stringr
. Mengembalikan campuran huruf besar dan kecil karena pertanyaannya mengatakan itu tidak masalah.Cobalah online!
Penjelasan
sumber
K4 , 35 byte
Larutan:
Contoh:
Penjelasan:
Mungkin golf dengan pendekatan yang berbeda, akan terus berpikir
sumber
Arang ,
3332 byteCobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
sumber
Java 11,
190176162 byte-14 byte berkat @Nevay .
Output dalam huruf besar penuh.
Cobalah online. (CATATAN:
String.repeat(int)
ditiru sebagairepeat(String,int)
untuk byte-count yang sama, karena Java 11 belum pada TIO.)Penjelasan:
sumber
char
maksud Anda? Sayangnya tidak ada.var
hanya dapat digunakan untuk bidang tunggal. Jadi, bukannyachar m=1,i=127,a[]=new char[i];
ituvar m=1;var i=127;var a=new char[i];
. Berikut tip berguna tentang apa yang dapat dan tidak bisa Anda lakukan dengan Java 10'svar
. (Saya bisa menggantiint
dalam loop denganvar
, tetapi byte-count akan tetap sama.)var
. Dan Java 11 nyaris tidak memiliki perubahan sama sekali terkait codegolf, kecuali untukString.repeat
metode yang sudah saya gunakan berkali-kali. Ini juga memiliki yang baruString.stripLeading
atauString.stripTrailing
, yang bertindak sepertitrim
tetapi hanya spasi putih terkemuka / tertinggal, danString.isBlank()
yang sama denganString.trim().isEmpty()
(kosong atau hanya spasi putih).s->{s=s.toUpperCase();char m=2,i=91,a[]=new char[127];for(int c:s.getBytes())m-=m+~++a[c]>>-1;for(;i-->65;)s=s.replaceFirst(i+"",repeat((i+""),m-a[i]));return s;}
Japt
-h
, 27 byte-3 byte dari @ETHproductions
Mencoba menjelaskan
Cobalah online!
sumber
ú
Triknya adalah jenius, btw :-)ñ oC ó¥
, meskipun perlu menambahkan kembali ke;
...ñ
bekerja pada string ?! @ ETHproductions, tolong katakan padaku itu tambahan baru-baru ini dan aku belum menghadapinya selama ini!Ruby , 89 byte
Cobalah online!
Saya mencoba pendekatan yang berbeda, tetapi apa yang benar-benar menghemat banyak byte adalah menambahkan satu karakter setiap kali.
Bagaimana:
sumber
Powershell 6, 123 byte
Ini menggunakan rentang char
'a'..'z'
. Lihat skrip untuk Powershell sebelumnya di bawah ini.Script tes yang dijelaskan:
Keluaran:
Powershell 5.1-, 133 byte
sumber
Merah , 252 byte
Cobalah online!
Solusi yang sangat panjang ...
Penjelasan:
sumber
JavaScript (Node.js) ,
140137 byteCobalah online!
+33 byte dari solusi pertama saya untuk kendala-kendala tambahan yang tidak pernah berakhir. JS payah di manipulasi string case-insensitive lho.
-3 byte kembali Terima kasih @Arnauld.
Penjelasan
sumber
f
s sebagai penyimpanan sementara jadi saya pikir tidak apamap()
fungsi panggilan balik aman digunakan untuk penyimpanan, karena fungsi itu didefinisikan dalam lingkup lokal. Menggunakan fungsi utama - yang didefinisikan secara global - lebih berbahaya. Di sini, Anda dapat menggunakan panggilan balik yang pertamamap()
, yang membawa Anda kembali ke 137 byte .Sekam , 15 byte
Cobalah online!
Brute force, jadi sangat lambat.
Penjelasan
sumber
Perl 6 ,
7770 byteCobalah online!
Mengambil pendekatan GB memasukkan karakter sampai semua karakter muncul jumlah yang sama kali. Menerima string yang dimodifikasi di tempat.
Jika garis bawah dapat diperlakukan seperti huruf, regex bisa menjadi
/\w/
, menghemat dua byte.Penjelasan
sumber
{*}
triknya..value(s)
itu? Rapi, saya mungkin harus memperbarui beberapa solusi lama sayaPython 2 ,
97117 byteCobalah online!
sumber
C (dentang) ,
246223220210208193188 byteBendera penyusun
-DF=;for(i=0;b[i];i++
-DB=b[i]
(29 byte)Menambahkan dukungan case campuran.
Cobalah online!
sumber
Pyth,
3130 byteCoba di sini
Penjelasan
sumber
C (GCC) - 175 Bytes
Tidak disatukan
Cobalah online!
sumber
Android Kotlin, 413 byte
Coba online
Penjelasan langkah 1 -> Pilih daftar karakter yang berbeda. langkah 2 -> Dapatkan hitung setiap karakter dalam string dan pilih frekuensi karakter maks. langkah 3 -> dapatkan perbedaan frekuensi karakter sehubungan dengan frekuensi maksimum karakter langkah 4 -> tempat karakter terkait dengan posisi dalam string. Selamat Memecahkan!
sumber
C # (Visual C # Interactive Compiler) , 145 byte
Cobalah online!
sumber
PHP ,
185173170 byteCobalah online!
Tidak disatukan (dan tidak ternaried dan tidak dioptimalkan).
sumber