Tantangan:
Input:
- String yang berisi ASCII yang dapat dicetak (tidak termasuk spasi, tab, dan baris baru)
- A boolean †
Keluaran:
Bagian-bagian dari String dibagi menjadi empat kelompok:
- Huruf kecil
- Huruf besar
- Digit
- Lain
Berdasarkan boolean, kami dapat menampilkan kemunculan tertinggi satu (atau kelipatan) dari empat kelompok ini, atau yang terendah, menggantikan yang lainnya dengan spasi.
Sebagai contoh:
Input: "Just_A_Test!"
Berisi:
- 3 huruf besar: JAT
- 6 huruf kecil: ustest
- 0 digit
- 3 lainnya:__!
Ini akan menjadi output untuk true
atau false
:
true: " ust est "
// digits have the lowest occurrence (none), so everything is replaced with a space
false: " "
(Catatan: Anda diizinkan untuk mengabaikan spasi tambahan, sehingga hasilnya juga bisa " ust est"
dan""
masing masing.)
Aturan tantangan:
- Input tidak akan pernah kosong atau berisi spasi, dan hanya akan terdiri dari ASCII dicetak dalam rentang
33-126
atau'!'
melalui'~'
. - Anda diizinkan untuk mengambil input dan / atau output sebagai karakter-array atau daftar jika Anda mau.
- † Dua nilai yang konsisten dan berbeda untuk boolean diizinkan:
true
/false
;1
/0
;'H'
/'L'
;"highest"
/"lowest"
; dll. Perhatikan bahwa nilai-nilai yang berbeda ini harus digunakan (agak) sebagai boolean! Jadi tidak diperbolehkan memasukkan dua program lengkap, satu yang memberikan hasil yang benar untuktrue
dan yang lainnya untukfalse
, dan kemudian hanya memiliki kode Anda yang sebenarnya<run input with parameter>
. Celah default baru yang relevan yang telah saya tambahkan, meskipun masih dapat menggunakan banyak finetuning mengenai definisi .. - Jika kemunculan dua atau lebih kelompok adalah sama, kami menampilkan semua kemunculan itu.
- Ruang trailing yang diperlukan adalah opsional, dan satu baris baru trailing juga opsional. Ruang terkemuka yang diperlukan wajib diisi. Dan spasi atau baris baru lainnya tidak diperbolehkan.
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, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, silakan tambahkan penjelasan jika perlu.
Kasus uji:
Inputs: Output:
"Just_A_Test!", true " ust est " (or " ust est")
"Just_A_Test!", false " " (or "")
"Aa1!Bb2@Cc3#Dd4$", either "Aa1!Bb2@Cc3#Dd4$"
"H@$h!n9_!$_fun?", true " @$ ! _!$_ ?"
"H@$h!n9_!$_fun?", false "H 9 " (or "H 9")
"A", true "A"
"A", false " " (or "")
"H.ngm.n", true " ngm n"
"H.ngm.n", false " " (or "")
"H.ngm4n", false "H. 4 " (or "H. 4")
H
dan 9
merupakan bagian dari "paling sedikit".
"max"
/ "min"
, yang kemudian digunakan Math[b]
untuk merujuk ke Math.max
atau Math.min
?
b?"max":"min"
jawaban Anda .. Ini adalah garis yang bagus saya kira, mungkin saya harus menggunakan nilai truthy / falsey lain kali ..
"H "
dan" 9 "
(dengan spasi yang sesuai) dijadikan keluaran alih-alih"H 9"
?