Untuk tujuan tantangan ini, kami akan mendefinisikan spasi putih sebagai hanya baris baris (0x0A) dan spasi (0x20). Perhatikan bahwa sebagian besar bahasa dan rasa regex mempertimbangkan banyak karakter lain sebagai spasi putih, baik di dalam maupun di luar rentang ASCII sehingga Anda mungkin tidak dapat menggunakan built-in yang sesuai.
Tantangan Polisi
Anda harus menulis sebuah program atau fungsi dalam bahasa pilihan Anda, yang mengambil string, yang terdiri dari karakter ASCII (kecuali NUL), sebagai input dan output dengan semua spasi putih dihapus. Misalnya jika Anda menerima input berikut:
H e l l o,
W o r l d!
Anda harus mengeluarkan
Hello,World!
Kiriman Anda kemudian akan menjadi kode sumber Anda dengan semua spasi kosong dihapus (proses yang sama seperti meneruskan solusi Anda sebagai input untuk dirinya sendiri, meskipun solusi Anda juga dapat berisi karakter di luar rentang ASCII). Tujuan Anda adalah membuatnya sesulit mungkin untuk mencari tahu di mana spasi putih perlu dimasukkan untuk memulihkan solusi yang valid dalam bahasa pilihan Anda. Perhatikan bahwa perampok dapat memasukkan lebih sedikit spasi daripada yang Anda hapus, tetapi tidak lebih. Ingat juga bahwa perampok tidak harus cocok dengan kode persis Anda, mereka hanya harus menemukan solusi yang valid.
Jawaban Anda harus berisi yang berikut:
- Bahasa (dan versi jika perlu) di mana Anda menulis solusi Anda.
- Jumlah byte solusi Anda sebelum menghapus spasi.
- Solusi Anda dengan spasi kosong dihapus.
Solusi Anda bisa berupa program atau fungsi, tetapi bukan cuplikan dan Anda tidak boleh menganggap lingkungan REPL. Anda dapat mengambil input melalui STDIN, argumen baris perintah atau argumen fungsi dan output melalui STDOUT, nilai pengembalian fungsi atau parameter fungsi (keluar).
Untuk kepentingan keadilan, harus ada juru bahasa atau kompiler yang tersedia secara bebas untuk bahasa pilihan Anda.
Anda tidak boleh menggunakan built-in untuk hashing, enkripsi atau pembuatan angka acak (bahkan jika Anda menyemai generator nomor acak ke nilai tetap). Solusi Anda harus dapat memproses string 100 karakter atau kurang dalam waktu kurang dari 10 detik pada mesin desktop yang masuk akal.
Jika jawaban Anda belum retak dalam 7 hari (168 jam), Anda dapat mengungkapkan solusi Anda sendiri di mana titik jawaban Anda dianggap aman . Selama Anda tidak mengungkapkan solusi Anda, itu mungkin masih dapat dipecahkan oleh perampok, bahkan jika 7 hari telah berlalu. Jawaban aman terpendek menang (diukur sebelum menghapus spasi putih).
Jika jawaban Anda retak, harap tunjukkan ini di tajuk jawaban Anda, bersama dengan tautan ke jawaban perampok yang sesuai.
Buka di sini untuk bagian perampok.
Pengajuan Tidak Rusak
<script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 103182;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>