ANDA AKAN MELAKUKAN BEGITU YANG MENCAPAI ORANG YANG HARUS MENDAPATKAN PERILAKU?
BAGAIMANA ANDA MELAKUKAN KEMISKINAN INI DENGAN MENGHASILKAN PERUBAHAN (BISNIS, 50% MENGHASILKAN PENDAFTARAN) TINGKAT KEPADA PEMERINTAHAN DAN PERLUASAN LAINNYA.
itu dia.
(maaf untuk tanda baca, itu untuk konsep pertanyaannya)
Versi yang dapat dibaca:
Anda akan diberi string yang terdiri dari karakter ASCII yang dapat dicetak.
Anda beralih melalui string dan mengubah huruf acak (seragam, 50% kesempatan besar) menjadi huruf besar, dan yang lainnya menjadi huruf kecil.
itu dia.
exaMplEs
iNpuT => pOssiBle oUtPUt
Programming puzzles and Code Golf => pRogRaMMiNg pUzzlEs aNd coDe goLf
dErpity deRp derP => deRpiTy dErp DerP
CAAAPSLOOOCK => cAAapslOoocK
_#$^&^&* => _#$^&^&*
s=>rand()%2?s.upper():s.lower()
Jawaban:
C - 65 byte
Cukup bagus untuk bahasa umum!
Menggunakan XOR untuk membalik bit secara acak pada
0x20
setiap karakter alfabet. Program mengasumsikan set karakter ASCII dan ituEOF < 0
.Sampel dijalankan dengan sumbernya sendiri!
Sangat derpy.
sumber
JavaScript, 87 byte
68 byte dalam ES6:
sumber
Jelly , 6 byte
Cobalah online!
Bagaimana?
Casing yang lebih rendah semua karakter input dan kemudian masing-masing huruf besar dengan probabilitas 50% sama dengan memilih salah satu karakter asli dan karakter casing bertukar ...
sumber
X
diimplementasikan menggunakan Pythonrandom.choice
, jadi ketika disajikan dengan daftar 2 karakter akan memilih masing-masing dengan probabilitas 50% - setiap karakter dalam input menghasilkan daftar seperti itu (karakter non-alfabet akan menjadi daftar 2 karakter yang sama, tetapi itu tidak masalah jika interpretasi "seragam" di atas benar).PowerShell ,
6460 byteCobalah online! (pastikan "nonaktifkan cache keluaran" dicentang jika Anda ingin hasil acak)
Terjemahan tantangan yang tepat. Mengambil string input,
ToLower()
s itu, mengubahnya menjadichar
array, loop melalui masing-masing karakter|%{...}
, dan secara acak memilih antara karakter yang ada atau varian huruf besar. Kemudian-join
s mereka kembali menjadi satu string. Ini berfungsi karenaToUpper
danToLower
hanya memengaruhi karakter alfabet, meninggalkan tanda baca dan sejenisnya tidak berubah.(Dennis memperbaiki daftar alias di TIO sehingga
Random
tidak mencoba Linuxrandom
tetapi dengan benar aliasGet-Random
sebagai perintah PowerShell, sebagaimana mestinya. Terima kasih, Dennis!)sumber
MATL ,
1312 byteCobalah di MATL Online
Penjelasan
sumber
Japt , 10 byte
Cobalah online!
Penjelasan
Jadi ini semacam hack murahan, tetapi berhasil. Dalam JavaScript Anda dapat melakukan sesuatu seperti
untuk secara acak dikonversi
x
ke huruf besar atau kecil. Di Japt, fungsi yang setara adalahu
untuktoUpperCase
danv
untuktoLowerCase
. Tetapi di Japt tidak ada cara langsung untuk mendapatkan nilai properti yang dihitung (x[expression]
dalam JavaScript).Salah satu fitur favorit saya dari Japt adalah bahwa jika Anda memiliki fungsi yang terdiri dari pemanggilan metode tunggal (misalnya
mX{Xq}
, atau.m(X=>X.q())
dalam JS), Anda dapat mengabaikan semuanya kecuali nama metode, misalnyamq
. Compiler kemudian mengubah ini menjadi string yang diteruskan ke pemanggilan metode asli (.m("q")
), dan metode mengubahnya kembali menjadi fungsi. Jadi tidak ada perbedaan antaramq
danm"q"
; keduanya menghasilkan output yang sama.Sekarang, di mana saya akan pergi dengan ini: sementara kita tidak bisa langsung memanggil metode acak pada sebuah string, kita dapat memanggil
m
string itu dengan nama metode acak. Jadi, untuk penjelasannya:sumber
Mq
default ke 2? Atau apakah itu baru saja ditambahkan?PHP, 53 Bytes
sumber
strto.*.er
. :)rand()&1
foreach(str_split($argv[1]as$c)...
alih-alih pengindeksan array.Perl 5 , 26 byte
25 byte +
-p
flag.Cobalah online!
sumber
Perl 6 ,
3229 byteCobalah
Cobalah
sumber
Python 2 ,
7774 byteCobalah online!
sumber
Japt ,
1210 bytePenjelasan:
Cobalah online!
sumber
05AB1E , 8 byte
Cobalah online!
Penjelasan
sumber
JavaScript, 77 byte
Cobalah online!
sumber
CJam , 14 byte
Cobalah online!
Penjelasan
sumber
MATL ,
1211 byte1 byte dihapus menggunakan ide Jonathan Allan untuk mengubah kasus secara langsung.
Coba di MATL online!
Penjelasan
sumber
Pyth, 5 byte
Suite uji
sumber
Befunge , 136 byte
Cobalah online!
Ada banyak ruang kosong yang saya pikir mungkin untuk dihilangkan. Befunge tidak memiliki cara untuk mencari tahu apa surat dan apa yang tidak, jadi ini yang saya lakukan di baris pertama.
sumber
~
Pesta , 64 byte
percobaan pertama
Cobalah online!
mengocok huruf besar, mengambil 13 angka pertama, menghapus baris baru dan menghemat $ a. $ b menampung $ a untuk huruf kecil. input diatur ke huruf kecil dengan $ {1 ,,} dan diteruskan sebagai heredoc ke tr yang menggantikan setiap arus dari $ b dengan $ a
Ini agak tidak menarik karena huruf yang sama selalu ditulis dengan huruf kapital.
sumber
JavaScript + HTML, 115 byte
sumber
Bash, 162 Bytes
Cukup jelas. Mengambil input dari baris perintah arg, menulis ke stdout.
Jalankan seperti
derpifier.sh "Derp this"
Man, begitu saya mulai menerapkan tips kode menyusut dengan cepat.
sumber
Swift - byte terlalu banyak (
176167)uppercased()
,lowercased()
,arc4random_uniform()
Benar-benar membunuh skor, selain bagi saya harus menambahkan fungsi karena Swift tidak memiliki metode input standar!Fungsi dengan penggunaan:
print(g(x: "Your String Here"))
sumber