タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

11
値のリストから範囲を決定する
一意の正の整数のソートされていないリストが与えられた場合、連続する整数の可能な限り長い範囲の最短リストを出力します。 入力 一意の正の整数のソートされていないリスト 例えば 9 13 3 11 8 4 10 15 入力は、次のいずれかから取得できます。 stdin コマンドライン引数 関数の引数 出力 範囲の順序付きリストまたは個々の値が1行でstdoutまたは使用言語の最も類似した出力に出力されます。 2つ以上の連続した整数(リスト内の位置ではなく、値で連続)が存在する場合、それらは-を使用して包括的範囲として示されます。 8-11 他のすべての整数は、他の表記法なしで単に印刷されます 単一のスペースで出力を区切ります 入力に存在しない数値は出力に含ま3 5 6れてはなりません。たとえば、存在しない3-6ため短縮できない4 例 成功: IN> 9 13 3 11 8 4 10 15 6 OUT> 3-4 6 8-11 13 15 IN> 11 10 6 9 13 8 …
18 code-golf 

30
入力文字列内の文字の出現を見つける
チャレンジ x10文字の文字列と1文字の文字列を指定すると、string でy文字yが出現する回数を出力するプログラムを作成しますx。 そうするためのバイト単位の最短プログラムが勝ちです。 例 Input: tttggloyoi, t Output: 3 Input: onomatopoe, o Output: 4

9
成長する箱のスタックを描く
タスク この課題では、あなたの仕事は、高さが増加するいくつかのスタックの箱のASCIIアート表現を描くことです。入力としてスタックの数が与えられます。これは正の整数です。最初のスタックには、サイズが1つのボックスが含まれます2x2。2番目のスタックには、サイズの2つのボックスが含まれます3x3。一般に、kthスタックにkはsizeのボックスが含まれます(k+1)x(k+1)。 各ボックスの境界線は文字を使用して描画され-|+、その内部は空白で構成されます。隣接するボックスは境界線を共有するため+、別のボックスの境界線の一部であっても、角は常にで描画する必要があります。 例 の出力1: ++ ++ の出力2: +-+ | | +-+ ++ | ++-+ の出力3: +--+ | | | | +--+ | | +-+ | | +--+ +-+ | ++ | | ++-+--+ の出力5: +----+ | | | | | | | | +----+ | | | | | …

30
何時ですか、チャップ?
正直、これはまだCode Golfの質問ではないとは信じられませんが、.... 現地時間(amまたはpm)をコンソールに文字列として出力します。先頭に「It's」が付きます。 例: Run code.... 出力: It's 12:32p.m. 最短のコードが優先されます。 コードアウェイ! リーダーボード コードスニペットを表示 var QUESTION_ID=57552,OVERRIDE_USER=42854;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div …
18 code-golf  date 

28
織り交ぜられたソースコード(警官)を見つける
これは警官のスレッドです。強盗のスレッドについては、こちらをご覧ください。 前書き このCops / Robbersチャレンジの場合、警官は出力生成プログラムを作成し、それらを一緒に織り込みます。警官のプログラムを分解して、目的の出力を生成するのは、強盗の仕事です。 警官のルール 警官は、合計で最大256バイトを使用して2〜8(包括的)のプログラムを書き込むことができ、そのすべてが何らかの出力を生成する必要があります。作成するプログラムはすべて同じ言語である必要があります。警官は、彼らのプログラムを「織り交ぜ」て、強盗がプログラムが何であるかを把握するのをより困難にします。 次に、織り合わせの説明をします。さまざまなプログラムを表す文字列を検討してください。織りのプロセスは、プログラムの最初の文字を繰り返し引き抜き、プログラムの文字がなくなるまで新しい文字列の末尾に連結することです。たとえば、2つのプログラムがlionとのTIGER場合、可能な織り合わせはTIliGoEnRです。ただし、プログラムをスクランブルすることはできないため、RoITEnlGi受け入れられません。 1つのプログラムを除くすべての文字が織り合わせの結果から削除されると、残りのプログラムはそのまま表示されることに注意してください。TIGERから文字を削除すると、TIliGoEnR結果がになりlionます。 警官のすべてのプログラムと出力には、印刷可能なASCII文字(20-7E)と改行のみを含める必要があります。プログラムにエラーが含まれてはならず、妥当なマシンで10秒以内に実行する必要があります。提出する場合は、どこかの言語の無料の通訳者が必要です。ハッシュやその他の形式の暗号化のように、提出物にコメントを追加することは許可されていません。空のプログラムは許可されていません(Sorry Stuck)。 警官は、織り交ぜられたコード、言語、使用されるさまざまなプログラムの数、および各プログラムの出力を投稿します。プログラムを自動的に織り交ぜるこのCJamスクリプトを書いてくれたMartinに大いに感謝します。 投稿から1週間が経過すると、プログラムは安全と見なされます。その時点で、警官はポイントを受け取るために個々のプログラムを投稿する必要があります。 得点 安全な提出を採点するときに一緒に追加される2つのコンポーネントがあります。 256を、使用したプログラムの数の累乗である2で割った数で割ったもの。 織り合わせのバイト数を最も近い2の累乗に切り上げ、256に分割します。 たとえば、エントリTIliGoEnR(9バイト)が安全であれば、256/2 ^ 2 + 256/16 = 80ポイントを受け取ります。 警官の提出がクラックされると、警官は16ポイントを失います。警官は、彼らの提出物がクラックされたことを示さなければなりません。 警官のチャレンジの勝者は、人々が参加するのに十分な期間を経て最もポイントを獲得した人になります。 リーダーボード これは進行中の作業であり、この質問からintrepidcoderによって適合されました。 回答が表示されるようにするには、正確なマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N programs, M bytes; Score ###/### (if safe/cracked) セミコロン以降は無視されるため、スコアをそこに配置できます。 投稿が安全な場合は、次のようなヘッダーを追加します。 # Language Name, safe, N programs, M bytes; …

2
デッドロックを見つける
デッドロックを見つける マルチスレッドアプリケーションをプログラミングするときは、共有リソースにアクセスするときにさまざまなスレッドのデッドロックを避けるように注意する必要があります。デッドロックは、スレッドの試みは、他のスレッドが最初でロックされたリソースにアクセスしようとしているのと同時に、別のスレッドでロックされているリソースにアクセスするときに発生します。これは単純なケースですが、より長いリソースチェーンではより複雑になる可能性があります。 チャレンジ 各スレッドがアクセスするリソースのリストで、考えられるデッドロック状況を検出できるプログラムまたは関数を作成する必要があります。これはコードゴルフなので、バイト単位の最短回答が勝ちです。 すべてのスレッドは同時に開始されますが、その後はインターリーブの任意の組み合わせで実行できます。4つのアクションそれぞれ有する2つのスレッドがある場合、それは(各番号はそのIDを持つスレッドによって取られる行動である)として実行することができ1,1,1,1,2,2,2,2、2,2,2,2,1,1,1,1、1,2,1,2,1,2,1,2、1,1,2,2,2,2,1,1、又は任意の他の可能な組み合わせ。 入力 STDIN、関数パラメーター、または最も近い代替手段を介して、文字列のリストを受け取ります。各文字列は、形式になります+a -b。この文字列はすべて、スレッドによるリソースのlocking(+)/ unlocking(-)を表します。すべてのスレッドの間に---セパレータがあります。スレッドが既にロックしているリソースをロックしようとしないこと、およびすべてのスレッドが終了する前にロックしたすべてのリソースを明示的にロック解除することが保証されます。次に例を示します。 +a # Lock resource a +b # Lock resource b -a # Unlock resource a -b # Unlock resource b --- # Thread separator +b # Lock resource b -b # Unlock resource b 出力 入力にデッドロックの可能性が含まれていない場合、出力は偽であり、デッドロックの可能性が含まれている場合は、真実です。例えば: true false 1 0 すべて有効な出力ですが、真実/偽と明確に定義されたものはすべて受け入れられます。 …

5
配列から最小合計シームを削除します
シームカービングアルゴリズム、またはそのより複雑なバージョンは、さまざまなグラフィックプログラムおよびライブラリでコンテンツを認識した画像のサイズ変更に使用されます。ゴルフしましょう! 入力は、整数の長方形の2次元配列になります。 出力は同じ配列で、1列幅が狭く、各行から1つのエントリが削除されます。これらのエントリは、上から下へのパスを表し、すべてのパスの合計が最小になります。 https://en.wikipedia.org/wiki/Seam_carving 上の図では、各セルの値は赤で表示されています。黒の数値は、セルの値と、その上の3つのセルのうちの1つで最も低い黒の数値の合計です(緑の矢印が指す)。強調表示された白いパスは、合計が5(1 + 2 + 2および2 + 2 + 1)の2つの最小合計パスです。 2つのパスが最低合計に結び付けられている場合、どちらを削除してもかまいません。 入力は、stdinから、または関数パラメーターとして取得する必要があります。括弧や区切り文字など、選択した言語に適した方法でフォーマットできます。入力がどのように予想されるかを回答で指定してください。 出力は、明確に区切られた形式で標準出力に出力するか、2次元配列(ネストされたリストなどを含む)に相当する言語の関数戻り値として出力する必要があります。 例: Input: 1 4 3 5 2 3 2 5 2 3 5 2 4 2 1 Output: 4 3 5 2 1 4 3 5 3 5 2 3 or 3 2 5 …

7
三角形カウントのバイナリイメージ
私の挑戦は少し難しくて魅力的ではない傾向があります。簡単で楽しいものがあります。 アルクインの配列 アルクインのシーケンス A(n)は、三角形を数えることによって定義されます。A(n)は、整数の辺と周囲を持つ三角形の数ですn。このシーケンスは、ヨークのアルクインにちなんで呼ばれます。 このシーケンスの最初のいくつかの要素は、次のn = 0とおりです。 0, 0, 0, 1, 0, 1, 1, 2, 1, 3, 2, 4, 3, 5, 4, 7, 5, 8, 7, 10, 8, ... 例えばA(9) = 3、整数の辺と周囲を持つ唯一の三角形9は1 - 4 - 4で3 - 3 - 3あり、2 - 3 - 4。下に3つの有効な三角形があります。 このシーケンスには、非常に興味深いパターンがいくつかあります。例えばA(2*k) = A(2*k - 3)。 詳細については、OEISのA005044を参照してください。 …

13
エンコードされた文字列を展開する
古典的なランレングスのエンコードとデコードがあります。 input output a3b2c5 aaabbccccc そして、それはかなり簡単で前に行われました。 課題は、複数の文字がランレングス(0〜9の1桁)に先行する場合の非標準的な動作も考慮することです。ランレングス数字の前の各文字(数字以外または文字列の最後の前の最後の数字)には、その値が個別に適用され、順番に出力されます。 いくつかのエッジケースを含むいくつかのテスト入力および出力: input output ab3c5 aaabbbccccc a0b3 bbb 13b1 111b a13b1 aaa111b a123b1 aaa111222b aa2a1b1 aaaaab 文字シーケンス([a-zA-Z0-9]+)の後には、ランレングス長([0-9])が続く必要があります 有効な入力のみを考慮する必要があります(([a-zA-Z0-9]+[0-9])*) はい、空の文字列は有効な入力です。 入力は標準入力経由、出力は標準出力経由 これはコードゴルフで、バイト数が勝者を決定します。
18 code-golf  string 

3
真珠のネックレスを張る
概要 Pearls(またはMasyu)は、グリッド上でプレイされるロジックゲームです。黒と白の真珠がグリッドに配置されています。オブジェクトは、形成することです単一の閉じたループ直線セグメントと直角のみを使用して、各真珠を通過ことです。 ループが真珠とどのように相互作用するかを管理するいくつかのルールがあります。 白い真珠は真っ直ぐに移動する必要がありますが、ループはそのパス内の前のセルおよび/または次のセルで回転する必要があります。 黒真珠をオンにする必要がありますが、ループはそのパス内の次のセルと前のセルを直進する必要があります。 ループはそれ自体と交差または交差してはなりません。すべてのセルには、正確にゼロまたは2つのループのエントリ/出口があります。 ウィキペディアのパズルの例(およびその解決策): あなたの目的は、与えられたパズルを解くことです。考えられる解決策が複数ある場合、どちらを指定してもかまいません。 入力 入力は、未解決の正方形グリッドになります。上記の例は次のようになります。 ..w.w..... ....w...b. ..b.b.w... ...w..w... b....w...w ..w....w.. ..b...w... w...b....w ......ww.. ..b......b wホワイトパール、bブラックパール、.空のセルです。 入力が有効であると仮定します。これは、整形式であることを意味し、少なくとも1つの解決策が可能です。有効なパズルはすべて3x3以上で、少なくとも1つの真珠が含まれています。 出力 出力は、パスを表す座標の文字列です。グリッドの左上隅は0 0、右上はn-1 0、ここでnはグリッドの幅です。 パスは、単に順序付けられた一連の座標です。 x1 y1 x2 y2 x3 y3 ... パスは閉じられていると想定されるため、最後に最初の座標を繰り返す必要はありませんが、閉じてもペナルティはありません。 出力は、パス内の少なくともすべてのコーナーで構成される必要があります。ターンがない場合、パス上のすべてのセルを出力する必要はありません。たとえば、この例の出力は次のように開始できます。 1 0 5 0 5 1 ... または 1 0 2 0 3 0 …

24
カウンターカウンター
タイポグラフィでは、カウンターは文字の形または記号で完全または部分的に囲まれた文字の領域です。閉じたカウンターは、文字形式または記号で完全に囲まれたカウンターです。入力として文字列を取り、テキスト内の閉じたカウンターの総数を出力するプログラムを作成する必要があります。 あなたの入力: コマンドライン入力またはSTDINから入力できますが、どちらを指定する必要があります。 印刷可能なASCII文字のみで構成されます。つまり、32〜126の間のすべてのASCII値を意味します。これにはスペースが含まれます。詳しくは。 現在、これはフォント間でわずかに異なります。たとえば、これを読んでいるフォントは、「g」に1つの閉じたカウンターがあると見なしますが、googleフォントには「g」に2つの閉じたカウンターがあります。これが問題にならないように、文字ごとのクローズドカウンターの公式数を以下に示します。 閉じたカウンターのないすべてのシンボル: !"'()*+,-./12357:;<=>?CEFGHIJKLMNSTUVWXYZ[\]^_`cfhijklmnrstuvwxyz{|}~ これにはスペースが含まれることに注意してください。 以下は、1つの閉じたカウンターを持つすべてのシンボルです。 #0469@ADOPQRabdegopq そして、ここに2つの閉じたカウンターを持つすべてのシンボルがあります: $%&8B 最後に大事なことを言い忘れましたが、ここにいくつかのサンプルの入力と出力があります。 Programming Puzzles and Code-Golf 印刷する必要があります 13 4 8 15 16 23 42 印刷する必要があります 5 All your base are belong to us 印刷する必要があります 12 Standard loopholes apply 印刷する必要があります 12 Shortest answer in bytes is the winner! 印刷する必要があります 8
18 code-golf  string 

15
0〜2 ^ n-1はPOPCORN順
...申し訳ありませんが、ポップコーンはありません。POPCNTだけです。 数値を取り込み、0から2 n -1 までのすべての整数を、数値のバイナリ表現(popcount)の1ビットの数値の昇順で出力する最短のプログラムまたは関数を記述します。重複は許可されません。n 同じポップカウントを持つ数字の順序は実装定義です。 たとえば、の場合n = 3、これらの出力はすべて有効です。 0, 1, 2, 4, 3, 5, 6, 7 [0, 4, 1, 2, 5, 3, 6, 7] 0 4 2 1 6 5 3 7 入力および出力形式は、言語機能を使用してコードをさらに学習できるように実装定義されています。出力にはいくつかの制限があります。 数値は10進形式で出力する必要があります。 出力には、数字の間に適切な区切り文字が含まれている必要があります(末尾の区切り文字は使用できますが、先頭には使用できません)。 ラインフィード(\n)、タブ(\t)、スペース、,、.、;、|、-、_、/非常に合理的セパレーターです。きれいに印刷するために追加のスペースを気にしませんが、区切り文字として文字や数字を使用しません。 数字と区切り記号は[ ]、{ }または任意の配列表記またはリスト表記で囲むことができます。 上記以外の内容は印刷しないでください。 ボーナス ソリューションがその場で数を生成できる場合は、スコアに0.5を掛けます。このボーナスの精神は、印刷ソリューションをジェネレーターに直接変換する場合、ジェネレーターは最大でO(n)メモリのみを使用することです(nは上記で定義されたビット数です)。(実際にソリューションをジェネレーターに変換する必要はありません)。n <= 28を課している間、すべての数値を格納するために必要なメモリは指数関数的に増加し、単純なソートソリューションはn = 28で少なくとも4 GBのメモリを占有することに注意してください。 このボーナスを請求する前に、ソリューションの仕組みに関する簡単な説明を追加してください。
18 code-golf 

1
散髪してください!
これは私の頭です: \ /-- -| / -\ | | | \ \ \ \ | --\ | \ | | / |--| / / | /|- //--| / | | | || //\ | | \ /| // \ | 正確に8本の毛で構成されています。髪が長すぎます。個々のストランドを指定した長さに切断してください。 入力 このセクションの主な魅力は、実際の髪の毛です。怠laな人のためのアニメーションとともに、グラフィカルな色分けされた表現があります: そして、髪のセットが何であるかの完全な仕様は次のとおりです。 私たちが呼ぶ、個々の毛、ストランドは、から作られる/、\、|、および-今後として知られ、ASCII文字原子。 ヘッドの全体(結合されたすべてのストランド)はc、r行cごとの列になります(≥1およびr≥2)。 各ストランドは... ヘッドの最後の行(行r-1)から開始します。 長さlがl≥2である。 ストランドは、次の方法で解析できます。 ストランドの下部から始めます。これは次のようになります/、|または\私たちが呼ぶ原子、根を。(ストランドは左から右に解析され、ルート順に並べられます。) …

1
ドットを接続できますか?
この課題は、Flow Freeに基づいています。オンライン版はここで見つけることができます:http://www.moh97.us/ パズルが渡されます。1パズルが解ける0場合、または解けない場合は戻らなければなりません。 パズルを解くには、プレーヤーは空の四角を1回だけ使用して、数字の各ペアを接続するパスを作成する必要があります。 正方形の寸法で渡され、次に各ドットのx、y、c(cは色を表す数字)に渡されます。例えば: あなた5,5 0,0,0 3,0,1 1,1,2 1,2,2 4,2,1 4,4,0に渡された場合、それは以下を表します: 0..1. .2... .2..1 ....0 そして、1を返します。 以下に、テストの問題をいくつか示します。 5,2 2,0,1 0,1,2 4,1,2 を表します: ..1.. 2...2 が1つしかないため、解けません1。 4,2 0,0,0 3,0,0 0,1,0 3,1,0 を表します: 0..0 0..0 また、2 0秒以上含まれるため、解けません。 8,6 0,0,1 7,5,1 を表します: 1....... ........ ........ ........ ........ .......1 そして、あなたはすべての正方形を使用することはできないので、解決できません。 2,5 0,0,1 2,0,6 …

9
期間を合計する
チャレンジ stdinに表示されるすべての期間を合計できる最短のコードを記述します。プログラムは、次のパターンのいずれかと一致する文字列のみを考慮し、残りは無視する必要があります。 HH:MM:SS (it will be interpreted as HH hours, MM minutes and SS seconds) H:MM:SS (it will be interpreted as H hours, MM minutes and SS seconds) MM:SS (it will be interpreted as MM minutes, SS seconds) M:SS (it will be interpreted as M minutes, SS seconds) 列挙されたパターンと一致する文字列の例: 12:00:01 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.