この課題のために、空白をラインフィード(0x0A)とスペース(0x20)のみとして定義します。ほとんどの言語と正規表現フレーバーは、ASCII範囲の内側と外側の両方で、他の多くの文字も同様に空白と見なすため、対応するビルトインを使用できない場合があります。
警官の挑戦
選択した言語でプログラムまたは関数を作成する必要があります。これは、ASCII(NULを除く)文字で構成される文字列を入力として受け取り、すべての空白を削除して出力します。たとえば、次の入力を受け取った場合:
H e l l o,
W o r l d!
出力する必要があります
Hello,World!
提出物は、すべての空白が削除されたソースコードになります(ソリューションに入力としてソリューションを渡すのと同じプロセスですが、ソリューションにはASCII範囲外の文字が含まれている場合もあります)。あなたの目標は、選択した言語で有効なソリューションを回復するために空白を挿入する必要がある場所を把握することを可能な限り難しくすることです。強盗は、削除するよりも少ない空白を挿入できますが、追加することはできません。また、強盗は正確なコードと一致する必要はなく、有効なソリューションを見つける必要があるだけであることを忘れないでください。
あなたの答えは次を含むべきです:
- ソリューションを作成した言語(および必要に応じてバージョン)。
- 空白を削除する前のソリューションのバイトカウント。
- 空白が削除されたソリューション。
ソリューションはプログラムまたは関数のいずれかですが、スニペットではなく、REPL環境を想定してはなりません。STDIN、コマンドライン引数または関数引数を介して入力を受け取り、STDOUT、関数の戻り値または関数(出力)パラメーターを介して出力することができます。
公平を期すために、選択した言語用の無料のインタープリターまたはコンパイラーが必要です。
ハッシュ、暗号化、または乱数生成に組み込み関数を使用しないでください(乱数ジェネレーターを固定値にシードした場合でも)。ソリューションは、適切なデスクトップマシンで100文字以下の文字列を10秒未満で処理できる必要があります。
回答が7日(168時間)以内に解読されなかった場合、回答が安全であると見なされる時点で独自の解決策を明らかにすることができます。解決策を公開しない限り、7日が経過していても、強盗によってまだ解読されている可能性があります。最短の安全な回答が優先されます(空白を削除する前に測定)。
回答がクラックされた場合、対応する強盗の回答へのリンクとともに、回答のヘッダーにこれを記載してください。
クラックされていない提出
<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>