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

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

30
これはロケット科学ではありません
単一行の文字列を取り込むプログラムまたは関数を作成します。印刷可能なASCIIのみが含まれていると想定できます。次のようなASCIIアートロケットの文字列を印刷または返す | /_\ |E| |a| |r| |t| |h| |_| /___\ VvV 入力文字列は胴体の上から下に書かれています。この場合、入力はでしたEarth。ロケットの高さ(炎を含む)は、常にストリングの長さ+ 5です。 出力の各行には、最大2つの末尾スペースがあり、オプションの末尾改行が1つある場合があります。バイト単位の最短コードが優先されます。 その他の例: [empty string] | /_\ |_| /___\ VvV a | /_\ |a| |_| /___\ VvV |0 | /_\ ||| |0| |_| /___\ VvV \/\ | /_\ |\| |/| |\| |_| /___\ VvV _ _ [note trailing …

3
箱の外で考える-私はそれを正しくやっていますか?
枠を超えて考えることは達成する価値のある目標であると聞き続けていますが、うまくやっているかどうかはどうすればわかりますか? このジレンマを解決するために、理論的には次のような出力を生成するBrainwave-to-ASCII -translatorをすでに作成しました。 # +------------+ # | thinking | # | | # +------------+ # # または # +------+ # | | thinking # | | # | | # +------+ # # これにより、枠外で考えているかどうかを簡単に判断できます。(これら#は出力の一部ではなく、新しい行を表します。) ただし、バグのために、出力の小さなセクションのみが返される場合があります。 | | # +---------+ # thinking # # +# |# inking |# # # タスク …

13
ワードクロックを印刷する
数年前に最初のものを見たので、私は常にこの種のワードクロックに支配されていました。 その時計に表示されるテキストは次のとおりです。 IT IS HALF TEN QUARTER TWENTY FIVE MINUTES TO PAST TWO THREE ONE FOUR FIVE SIX SEVEN EIGHT NINE TEN ELEVEN TWELVE O'CLOCK あなたの仕事は、そのような作業クロックを書くことです。現在の時刻の印刷に関連する場合にのみ、単語が点灯します。それ以外の場合、それらは点灯します。単語は印刷されることにより「点灯」され、単語の長さであるスペースの数に置き換えられることにより「消灯」されます。 例:現在の時刻が17:23の場合、印刷されるテキストは次のとおりでなければなりません。 IT IS TWENTY FIVE MINUTES PAST FIVE ルール 印刷される時間は12hバリアントですが、AM / PMはありません。 四捨五入は分単位でのみ行われます(秒はまったく関係ありません)。丸めは5の最も近い倍数で行われます。たとえば、17:52:38は実際には17:55に最も近いですが、秒は無関係なので、17:52は実際には17:50に切り捨てられます。また、印刷されるテキストは「6分間で10分です」(関連するスペースを使用)です。XX5の倍数の場合XX、HH:(XX-2):00からHH:(XX + 2):59まで使用されます。単語がMINUTESあれば表示される必要がありますFIVE、TENまたはTWENTY(「TO」や「過去」の前に)分のセクションに点灯されています。 関係のない単語はすべて、必要な数のスペースに置き換えられ、上記のテンプレート内のテキストを保持します。末尾のスペースは削除される場合があります。テキストを予想される位置に保持することに関連するスペースを保持する必要があります。 末尾の行もトリミングできます。関連する空の行を表示するには、引き続き必要です。例: IT IS TEN MINUTES PAST TWO これらの値が時間を指している場合TEN、1行目またはFIVE3行目に点灯しないでください。 …
59 code-golf  string  date 

13
サンドパイルを構築する
アーベル砂山は、我々の目的のために、砂の最初は空整数座標を持つ無限のグリッド、です。1秒ごとに、砂粒が(0,0)に配置されます。グリッドセルに4つ以上の砂粒があるときはいつでも、1つの砂粒をその4つの隣接するもののそれぞれに同時に溢れさせます。(x、y)の隣接は(x-1、y)、(x + 1、y)、(x、y-1)、および(x、y + 1)です。 セルがこぼれると、隣のセルがこぼれる可能性があります。いくつかの事実: このカスケードは最終的に停止します。 細胞がこぼれる順序は関係ありません。結果は同じになります。 例 3秒後、グリッドは次のようになります ..... ..... ..3.. ..... ..... 4秒後: ..... ..1.. .1.1. ..1.. ..... 15秒後: ..... ..3.. .333. ..3.. ..... そして16秒後: ..1.. .212. 11.11 .212. ..1.. 挑戦 できるだけ少ないバイトで、単一の正の整数tを取り、t秒後に砂山の写真を出力する関数を作成します。 入力 任意の形式の単一の正の整数t。 出力 文字を使用した、t秒後の砂山の写真 . 1 2 3 編集:好きな4つの異なる文字を使用するか、絵を描きます。「.123」または「0123」を使用していない場合は、回答で文字の意味を指定してください。 例とは異なり、出力には、サンドパイルのゼロ以外の部分を表示するために必要な最小限の行と列が含まれている必要があります。 つまり、入力3の場合、出力は次のようになります。 3 4の場合、出力は .1. 1.1 …

30
末尾の真実を数える
私の親愛なる友人や同僚にインスパイアされ、その記念に、 ダンバロネット、1956 –2016。RIP 彼は、このタスクに対する最短のAPLソリューションを見つけました。 仕事 ブールリストを指定して、後続の真理値の数をカウントします。 事例の例 {} → 0 {0} → 0 {1} → 1 {0, 1, 1, 0, 0} → 0 {1, 1, 1, 0, 1} → 1 {1, 1, 0, 1, 1} → 2 {0, 0, 1, 1, 1} → 3 {1, 1, 1, 1, 1, 1} …

23
最短の一致しない正規表現
あなたの使命は、文字列が一致しない、空の文字列を含む最短の有効な正規表現を書くことです。 提出物は次の形式である必要があります(「リテラル表記」): /pattern/optional-flags 最短の正規表現が勝ちます。正規表現のサイズは文字でカウントされます。(スラッシュとフラグを含む) 正規表現の仕組みを説明してください(簡単でない場合) ありがとう、そして楽しんでください!

30
最も滑らかな数を見つける
あなたの課題は、与えられた範囲で最も滑らかな数を見つけることです。言い換えれば、最大の素因数が最小の数を見つけます。 なめらかな数は、その最大の素因数に小さいものです。このタイプの数値は、高速フーリエ変換アルゴリズム、暗号解読、およびその他のアプリケーションに役立ちます。 たとえば、範囲5, 6, 7, 8, 9, 108では、8が最大の素因数であるので8が最も滑らかな数値であり、他の数値はすべて3以上の素因数を持っています。 入力:入力は、範囲を定義する2つの正の整数になります。範囲の最小許容整数は2です。言語の範囲内で任意の範囲を指定できる限り、範囲が包括的、排他的、半排他的などであるかどうかを選択できます。関数入力、標準入力、コマンドライン引数、または言語の同等の方法で数値を取得できます。入力に追加情報をエンコードしません。 出力:入力範囲内で最大に滑らかな(最小の最大係数)1つ以上の整数を返すか、印刷するか、同等にします。複数の結果を返すことはオプションですが、そうすることを選択した場合は、結果を明確に区切る必要があります。ネイティブ出力形式は、複数の結果に適しています。 回答の中で、どのように入力を取り、出力を行っているかを説明してください。 スコアリング:コードゴルフ。ASCIIで記述されている場合は文字でカウントし、ASCIIで記述されていない場合は8 * bytes / 7でカウントします。 テストケース: 注:これらは、ローエンドを含むがハイエンドを含まないPythonスタイルの範囲です。プログラムに応じて変更します。必要な結果は1つだけです。 smooth_range(5,11) 8 smooth_range(9,16) 9, 12 smooth_range(9,17) 16 smooth_range(157, 249) 162, 192, 216, 243 smooth_range(2001, 2014) 2002

20
ボーダートレンチを掘る
背景:ブランディアからの不法移民があまりにも多く、国境を越えてアスタンに来ています。Astanの皇帝は、それらを締め出すためにtrenchを掘ることをあなたに任せました、そして、Blandiaは費用の支払いをしなければなりません。すべてのタイピストはトレンチが配置されるまで抜け落ちているため、コードはできるだけ短くする必要があります。* 仕事: AstanとBlandiaの境界線の2Dマップを指定して、Blandsに境界トレンチの(土地を)支払うようにします。 例:マークされたAstanianセル、マークされたABlandicセル、マークさBれたトレンチセル+(マップフレームはわかりやすくするためのみです): ┌──────────┐ ┌──────────┐ │AAAAAAAAAA│ │AAAAAAAAAA│ │ABAAAAAABA│ │A+AAAAAA+A│ │ABBBAABABA│ │A+++AA+A+A│ │ABBBAABABA│ │A+B+AA+A+A│ │ABBBBABABA│→│A+B++A+A+A│ │ABBBBABBBB│ │A+BB+A++++│ │ABBBBABBBB│ │A+BB+A+BBB│ │ABBBBBBBBB│ │A+BB+++BBB│ │BBBBBBBBBB│ │++BBBBBBBB│ └──────────┘ └──────────┘ 詳細:マップには、少なくとも3行3列が含まれます。一番上の行は完全にアスタニアンであり、一番下の行は完全に無意味です。 入力と出力が一貫している限り、任意の3つの値を使用して、Astanian領域、Blandic領域、およびボーダートレンチを表すことができます。 オートマトン定式化:ムーア近傍に少なくとも1つのアスタニアンセルを持つBlandicセルは、境界トレンチセルになります。 テストケース [ "AAAAAAAAAA", "ABAAAAAABA", "ABBBAABABA", "ABBBAABABA", "ABBBBABABA", "ABBBBABBBB", "ABBBBABBBB", "ABBBBBBBBB", "BBBBBBBBBB" ] になる: [ "AAAAAAAAAA", "A+AAAAAA+A", "A+++AA+A+A", "A+B+AA+A+A", "A+B++A+A+A", "A+BB+A++++", "A+BB+A+BBB", "A+BB+++BBB", …

30
チェスの正方形の色を決定する
あなたの挑戦は、チェス盤から与えられた正方形の色を出力するプログラムを書くことです。これがチェス盤の見た目です: 正方形a1は暗く、h1は明るい正方形であることがわかります。あなたのプログラムは、正方形を与えられたときに、darkまたはを出力する必要がありますlight。いくつかの例: STDIN: b1 STDOUT: light STDIN: g6 STDOUT: light STDIN: d4 STDOUT: dark ルール: STDINを使用し、STDOUTを使用して出力darkまたはを出力する完全なプログラムを提供する必要がありますlight。 入力は常に有効であると仮定します([a-h][1-8]) これはcode-golfなので、最短バイト数が勝ちです! スコアボード var QUESTION_ID=63772,OVERRIDE_USER=8478;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 …
59 code-golf  chess 

30
人生の最短ゲーム
ConwayのGame of Lifeは、セルラーオートメーションの典型的な例です。セルは正方形のグリッドを形成し、それぞれに2つの状態があります:生きているか死んでいます。各ターンで、各セルは、その状態とその8つの隣人の状態に従って同時に更新します。 生きているセルは、正確に2つまたは3つのライブネイバーがある場合、生きたままです。 死んだ細胞は、生きている隣人がちょうど3人いる場合に生きます あなたの使命は、あなたがそれを受け入れることを選択した場合、お気に入りの言語で最短のGame of Life実装をコーディングすることです。 ルール: グリッドは少なくとも20x20でなければなりません グリッドはラップアラウンドする必要があります(グリッドはトーラスの表面のようになります) 実装では、ユーザーが独自の開始パターンを入力できるようにする必要があります GoLは、何が起こっているのかわからなければ少し無意味です。そのため、各ターンの結果が表示されるまで表示されるオートマトンの視覚的な出力が必要です。

30
あひる、あひる、ガチョウ!
子供向けのゲーム「ダック、ダ​​ック、グース」を覚えていますか?番号?私でもない。 挑戦 単語「duck」を個々の行に不定回数印刷します。 単語「グース」を印刷します。 プログラムは終了します。 ルール 最小バイトでゲームをプレイしてみてください。 少なくとも1羽のアヒルがいる必要があります。 リストの最後に、ちょうど1羽のガチョウがいる必要があります。 各行に正確に1羽の鳥がいる必要があります。空行はありません。 出力される文字列の大文字小文字は関係ありません。 行内の空白は問題ありません。 プログラムを終了する必要があります。 あなたのプログラムは一貫して同じ数のアヒルを生産してはいけません。 楽しんで! 注:この質問は、非決定的な出力を生成する最短コードの複製ではありません 理由は次のとおりです。 子供向けゲームへの関連付け 結果文字列の定義された開始および終了要件。他のチャレンジには指定された出力はありません。 回答他の場合、重複していないチャレンジは1桁のバイト数です。これの平均は約30、またはそこにあります。 この課題とその課題との重複量により、「ランダム」タグを含むコードゴルフの問題は重複します。それらをすべて削除する必要がありますか? このチャレンジに対するコードの回答は、他のチャレンジと一致します(途方もなく肥大化した方法で)が、そのチャレンジに対する回答はこのチャレンジと一致しません。
58 code-golf  random 

9
私の刑務所は安全ですか?
あなたの挑戦には、囚人のいずれかが逃げることができるかどうかを判断するための刑務所レイアウトの入力が与えられます。 入力 入力は、入力が、この場合、3つの文字で構成されますなどのアレイの列、アレイ、アレイのような任意の妥当な形式であってもよく#、Pそしてスペース。入力には3文字すべてが含まれているとは限りません。 #: 壁 P:囚人 スペース:空のスペース 入力例は次のようになります。 ##### # # # P # # # ##### 出力 刑務所が安全かどうかの真偽値。刑務所は、すべての囚人を収容できる場合にのみ安全です。囚人が逃げることができれば、安全ではありません。 囚人は、壁に完全に囲まれていない場合、逃げることができます。対角結合は完全に囲まれています。 テストケース ############# Truthy # P # P# # # # # P # ############# ############# Truthy # P P # # # # P # ############# ############# Falsey # P …

30
数値は2進数で重いですか?
整数は、そのバイナリ表現が1sよりも多くのs を含み、0先行ゼロを無視する場合、バイナリが重いです。たとえば、1はバイナリ表現が単純1であるため、バイナリが重いですが、4はバイナリ表現がであるため、バイナリは重くありません100。同数の場合(たとえば、2のバイナリ表現で2 10)、数は2進数とは見なされません。 入力として正の整数を指定すると、バイナリが重い場合は真理値が出力され、そうでない場合は偽値が出力されます。 テストケース フォーマット: input -> binary -> output 1 -> 1 -> True 2 -> 10 -> False 4 -> 100 -> False 5 -> 101 -> True 60 -> 111100 -> True 316 -> 100111100 -> True 632 -> 1001111000 -> False 2147483647 -> 1111111111111111111111111111111 -> …

18
チャック・ノリスのように数える
されているようによく知られ、 チャック・ノリスは無限に数えました。二回 ほかに、 チャック・ノリスは逆方向に無限に数えられます。 また、おそらくあまり知られていませんが、チャック・ノリスは英語に加えて少しスペイン語を話すことができます。 挑戦 2つの異なる言語で実行できるプログラム(または関数)を作成します。1つの言語では、プログラムはシーケンスを出力する必要があります 1, 1, 2, 2, 3, 3, 4, 4, ... 他の言語では、シーケンス(先行ゼロを含む)を生成する必要があります 1, 2, ..., 9, 01, 11, 21, 31, ..., 89, 99, 001, 101, 201, ... ルール すべてのプログラミング言語で、プログラムまたは機能が許可されます。標準的な抜け穴は禁止されています。 同じ言語の異なるバージョン(Python 2/3など)は、異なる言語としてカウントされません。関連する言語(C / C ++やMatlab / Octaveなど)は異なるものとしてカウントされます。 入力は行われません。 プログラムは、ユーザーが停止するまでシーケンスの用語を出力し続ける必要があります。プログラムはそれ自体で停止しないため、最後に出力を生成することはできません。プログラムの実行中に、連続的またはバッチで生成する必要があります。 出力はSTDOUTまたは同等のものを使用するか、グラフィックウィンドウに表示できます。各用語を隣接する用語と明確に区​​別できる限り、シーケンス用語間の数値以外の区切り文字を使用できます。用語間で画面がクリアされる場合も許容されます。 どちらのシーケンスもの0代わりに開始でき1ます。その場合、0他の数字と同様に、「2回」シーケンスで繰り返す必要があります。 先頭のゼロは、「後方」シーケンスで重要です。たとえば、10番目の用語は01;です。どちら1も001受け入れられません。 2つの言語が異なる文字エンコーディングを使用している場合、プログラムは文字ではなくそのbytesによって定義されます。つまり、バイトは2つの言語で同じである必要があります。 バイト単位の最短コードが優先されます。

30
いくつかの「deciph4r4ng」をしましょう
このチャレンジでは、あなたの仕事は文字列を解読することです。幸いなことに、アルゴリズムは非常に単純です。左から右に読むと、出会った各桁N(0〜9)は、その前のN + 1位置の文字に置き換える必要があります。 例 入力文字列"Prog2am0in6"は次のようにデコードされます。 したがって、予想される出力は"Programming"です。 明確化と規則 入力文字列には、32〜126の範囲のASCII文字のみが含まれます。空になることはないと想定できます。 元の解読された文字列には、数字が含まれないことが保証されています。 文字がデコードされると、次の数字で参照される場合があります。たとえば、"alp2c1"としてデコードする必要があります"alpaca"。 参照は文字列をラップすることはありません。前の文字のみを参照できます。 完全なプログラムまたは結果を出力または出力する関数を作成できます。 これはコードゴルフであるため、バイト単位の最短回答が優先されます。 標準的な抜け穴は禁止されています。 テストケース Input : abcd Output: abcd Input : a000 Output: aaaa Input : ban111 Output: banana Input : Hel0o W2r5d! Output: Hello World! Input : this 222a19e52 Output: this is a test Input : golfin5 3s24o0d4f3r3y3u …

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