Kami mendefinisikan spasi putih menjadi salah satu dari tiga karakter, tab (0x09), baris baru (0x0A) atau spasi (0x20).
Untuk tantangan ini, Anda harus menulis dua program atau fungsi dalam bahasa pemrograman yang sama, yang melakukan tugas-tugas berikut:
Hitung karakter spasi putih dalam string yang diberikan. Misalnya input
123 -_- abc def
akan mengembalikan 7 (asalkan tidak ada baris baru)
Pisahkan string yang diberikan pada menjalankan spasi kosong berturut-turut. Jika string dimulai atau diakhiri dengan spasi putih, tidak ada string kosong harus dikembalikan di ujungnya. Misalnya input yang sama
123 -_- abc def
akan kembali
["123", "-_-", "abc", "def"]
.
Dalam kedua kasus, Anda dapat mengambil input melalui STDIN, argumen baris perintah atau argumen fungsi mengembalikan hasilnya atau mencetaknya STDOUT. Untuk program kedua, jika Anda memilih untuk mencetak ke STDOUT, harap cetak setiap string pada barisnya sendiri, tanpa tanda kutip di sekitarnya.
Untuk kedua program, Anda dapat mengasumsikan bahwa input hanya berisi ASCII yang dapat dicetak (0x20 hingga 0x7E) dan spasi putih.
Sekarang inilah tangkapannya:
- Jika semua spasi putih dihapus dari kedua program / fungsi, string yang dihasilkan harus identik. Artinya, dua kiriman Anda mungkin hanya berbeda dalam jumlah dan penempatan karakter spasi putih.
- Program / fungsi tidak boleh mengandung string atau regex literal (literal karakter baik-baik saja, asalkan bahasa Anda memiliki tipe karakter yang ditunjuk).
- Tidak ada program / fungsi yang dapat berisi komentar.
- Anda tidak boleh membaca kode sumber program, secara langsung atau tidak langsung.
Ini kode golf. Skor Anda adalah jumlah ukuran kedua solusi (dalam byte). Skor terendah menang.
Papan peringkat
Cuplikan Stack berikut menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa. Jadi, bahkan jika bahasa pilihan Anda tidak membiarkan Anda memenangkan seluruh tantangan, mengapa tidak mencoba merebut tempat di daftar kedua? Saya akan sangat tertarik untuk melihat bagaimana orang mengatasi tantangan ini dalam berbagai bahasa!
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
# Language Name, N bytes
di mana N
adalah jumlah ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Misalnya:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Anda juga dapat memasukkan jumlah individu sebelum jumlah total, misalnya
# Python 2, 35 + 41 = 76 bytes
Nomor terakhir yang tidak dihantam akan digunakan oleh snippet.
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>site = 'meta.codegolf',postID = 5314,isAnswer = true,QUESTION_ID = 42253;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>