空白は、タブ(0x09)、改行(0x0A)、またはスペース(0x20)の3文字のいずれかに定義します。
この課題では、同じプログラミング言語で2つのプログラムまたは関数を作成し、次のタスクを実行します。
指定された文字列の空白文字を数えます。たとえば、入力
123 -_- abc def
7を返します(末尾の改行がない場合)。
空白の連続した実行で特定の文字列を分割します。文字列の先頭または末尾が空白の場合、末尾に空の文字列は返されません。たとえば、同じ入力
123 -_- abc def
戻り
["123", "-_-", "abc", "def"]
ます。
どちらの場合でも、STDIN、コマンドライン引数、または関数引数を介して入力を取得し、結果を返すか、STDOUTを出力できます。2番目のプログラムでは、STDOUTに出力することを選択した場合、引用符を囲むことなく、各文字列をそれぞれの行に出力してください。
両方のプログラムについて、入力には印刷可能なASCII(0x20から0x7E)と空白のみが含まれると想定できます。
これが問題です。
- すべての空白が両方のプログラム/関数から削除される場合、結果の文字列は同一である必要があります。つまり、2つの提出は、空白文字の数と配置のみが異なる場合があります。
- いずれのプログラム/関数にも文字列または正規表現リテラルを含めることはできません(言語に指定された文字タイプがある場合、文字リテラルは問題ありません)。
- どちらのプログラム/機能にもコメントを含めることはできません。
- プログラムのソースコードを直接的または間接的に読み取ってはなりません。
これはコードゴルフです。スコアは、両方のソリューションのサイズの合計(バイト単位)です。最低スコアが勝ちます。
リーダーボード
次のStack Snippetは、通常のリーダーボードと言語別の勝者の概要の両方を生成します。たとえあなたの選択した言語があなたが挑戦全体に勝つことを許さないとしても、なぜ2番目のリストのスポットをひったくってみませんか?人々がさまざまな言語でこの課題にどのように取り組んでいるかを知りたいと思います!
回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。
# Language Name, N bytes
どこN
で合計あなたの提出のサイズ。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば:
# Ruby, <s>104</s> <s>101</s> 96 bytes
合計数の前に個々の数を含めることもできます。たとえば、
# Python 2, 35 + 41 = 76 bytes
取り消されていない最後の番号がスニペットによって使用されます。
<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>