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

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

30
5お気に入りの手紙
挑戦は実際には非常に簡単です。5つの異なる文字を選択し(必要に応じて最短のコードを許可する5文字を選択できます)、それらをコンソールに出力します。ただし、ツイストは、それらが次のリストからのものでなければならないということです。 AAA BBBB CCCC DDDD EEEEE FFFFF GGG H H A A B B C D D E F G H H AAAAA BBBB C D D EEEE FFFF G GG HHHHH A A B B C D D E F G G H H A A BBBB CCCC DDDD …

30
コードゴルフクリスマス版:高さNのクリスマスツリーを印刷する方法
数字を指定すると、コード文字の最小数を使用してN高さのクリスマスツリーを印刷するにはどうすればよいNですか? Nは、最小値3、および最大値に制限されていると想定されます30(境界およびエラーチェックは不要です)。Nプログラムまたはスクリプトへの唯一のコマンドライン引数として指定されます。 すべての言語は高く評価されています。すでに実装されている言語があり、短くすることができる場合は、可能であれば編集します。明確にするために改行と空白を含めますが、文字数には含めないでください。 クリスマスツリーはそのように生成され、その「トランク」は中央の「*」のみで構成されます。 N = 3: * *** ***** * N = 4: * *** ***** ******* * N = 5: * *** ***** ******* ********* * Nは、1本の幹線を含まない枝の高さを定義します。 メリークリスマスPPCG!

30
ECMAScript 6以降でのゴルフのヒント
これは他の「<...>でのゴルフのヒント」に似ていますが、特にECMAScript 6以降で作成されたJavaScriptの新しい機能を対象としています。 JavaScriptは、本質的に、非常に冗長な言語であるfunction(){}、.forEach()などの配列、配列への配列のようなオブジェクトなど、に文字列を変換するスーパーbloatsとゴルフのための健康的ではありません。 一方、ES6 +には、非常に便利な機能があり、フットプリントが削減されています。x=>y、[...x]などはほんの一例です。 コードから余分なバイトを削除するのに役立つ素敵なトリックを投稿してください。 注:ES5のトリックは、JavaScriptのゴルフのヒントで既に利用可能です。このスレッドへの回答は、ES6および他の将来のESバージョンでのみ利用可能なトリックに焦点を当てる必要があります。 ただし、このスレッドは、現在ES5機能を使用してゴルフをしているユーザー向けです。回答には、ES6の機能を理解し、ES5コーディングのスタイルにマッピングするのに役立つヒントも含まれている場合があります。

9
ゴルフアドベントカレンダー
私たちの多くがアドベントカレンダーを手に入れるのは、この時期です!アドベントカレンダーに慣れていない場合、これらはクリスマスを見越してアドベントカウントダウンに使用される特別なカレンダーです。私の経験では、ドアはランダムに配置されており、子供の頃の楽しみの一部は明日のドアがあった場所で解決しました!多くの場合、カレンダーには各ドアの後ろにチョコレートがありますが、今年はアドベントカレンダーを購入する代わりに、ASCIIカレンダーを作成する必要があります。 仕事 n範囲0-の整数()の入力を指定する24と、番号付きのドアが開いたASCIIアドベントカレンダーが生成さnれます。:あなたは、以下の例のように同じ順序を使用しなければなりません2、17、8、12、1、6、11、20、5、22、3、10、15、23、7、16、9、24、18、4、13、19、21、14。 ドア 閉じたドアは次のとおりである必要があります。 .-----------. | | | | | | | nn | |___________| ここnで、ドアの番号を表し(先行ゼロはオプションです)、開いたドアは次のとおりです。 .-----------. |\ | | | | | | | | | | | |_________| \| 代わりにドア24を除きます。 .--------------------------. | | | | | | | 24 | |__________________________| .--------------------------. |\ | | | | …

23
自然のままの世界のプログラミング
そのままのプログラムを、それ自体にエラーはないが、N文字の連続する部分文字列を削除して修正するとエラーになるプログラムとして定義してみましょう1 <= N < program length。 たとえば、3文字のPython 2プログラム `8` 長さ1の部分文字列を削除した結果、すべてのプログラムでエラーが発生するため(実際には構文エラーですが、あらゆるタイプのエラーが発生するため)、初期のプログラム(ありがとう、Sp)です。 8` `` `8 また、長さ2の部分文字列を削除した結果、すべてのプログラムがエラーを引き起こします。 ` ` たとえば、エラーのない`8プログラムであった場合、部分文字列の削除の結果はすべてエラーに`8`なるため、初期状態ではありません。 このチャレンジでのあなたの仕事は、入力を一切受け取らず、次の5つの単語のいずれか1つを出力する、できるだけ短い原始的なプログラムを作成することです。 world earth globe planet sphere どの言葉を選ぶかはあなた次第です。唯一の単語とオプションの末尾の改行を標準出力(または言語の最も近い代替)に印刷する必要があります。バイト単位の最短プログラムが優先されます。 ノート: 機能ではなく、スタンドアロンプ​​ログラムが必要です。 単語は大文字と小文字が区別されます。出力WorldまたはEARTH許可されていません。 コンパイラの警告はエラーとしてカウントされません。 エラーが発生したサブプログラムは、常に最終的にエラーが発生する限り、入力を取得したり、出力を提供したり、その他の処理を実行したりできます。 これは、潜在的に原始的なプログラムでエラーが発生する必要があるプログラムをリストするスタックスニペットです。 <script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>function go() { var s = $('#i').val(), e = []; for (var i = 1; i < s.length; i++) …

14
[クリスマステーマの免責事項はこちら]
MODに注意してください。タイトルが正義を果たさない場合は、何にでも変更してください。面白いと思いました。 あなたはこのクリスマスシーズンの照明を切ることを任されており、あなたの家族はそれをメリークリスマスにするには、少なくとも2つのクリスマスライトを家に掛ける必要があると決めました。したがって、あなたの挑戦は、数字を与えられて、1 < nあなたがぶら下がろうとしているクリスマスライトの対応する数を以下の仕様に従って出力することです... 基本的なクリスマスライトの構造は次のとおりです。 _?_ [___] /:' \ |:: | \::. / \::./ '=' 唯一の不確実な部分は疑問符です。これは、光がチェーンのどこに着地するかによって、接続が大きく異なるためです。 チェーンの最初のライトについては、出力する必要があります: .--._ _(_ [___] /:' \ |:: | \::. / \::./ '=' チェーンの最後のライトについては、以下を出力する必要があります。 _.--. _)_ [___] /:' \ |:: | \::. / \::./ '=' そして、中央のすべてのライトに対して: _.--.--._ _Y_ [___] /:' \ |:: | \::. / …

30
Javaでのゴルフのヒント
Javaで使用できる便利なショートカットはありますか? 以下に示すように、importすでに少なくとも17文字がプログラムに追加されています。 import java.io.*; 簡単な解決策は別の言語を使用することであることを理解していますが、Javaプログラムを短縮することは本当に難しいようです。 ヒントはJavaに固有である必要があります。ほとんどのCライクな言語に適用できる場合は、より一般的なヒントのリストに属します。
86 code-golf  tips  java 

25
空腹のマウス
16個のチーズの山を4x4の正方形に置きます。からまでのラベルが付いています。最小のパイルはで、最大のパイルはです。111161616111161616 空腹のマウスはとても空腹なので、常に最大の山(つまり)に直行し、すぐに食べます。161616 その後、最大の隣接する山に行き、その山もすぐに食べます。(うん...それは本当におなかがすいています。)隣の山がなくなるまで続きます。 パイルには最大8つの隣人(水平、垂直、斜め)があります。ラップアラウンドはありません。 例 以下のチーズの山から始めます。 3615147891101211165134237105681213159114141162\begin{matrix} 3&7&10&5\\ 6&8&12&13\\ 15&9&11&4\\ 14&1&16&2 \end{matrix} ハングリーマウスは最初に食べ、次に最大の隣の山、つまり食べます。161616111111 36151478911012🐭↑5134237105681213159🐭4141↑2\begin{matrix} 3&7&10&5\\ 6&8&12&13\\ 15&9&🐭&4\\ 14&1&\color{grey}\uparrow&2 \end{matrix} その次の移動は、、、、、、、、、及びこの正確な順序で。131313121212101010888151515141414999666777333 🐭↗↓↗←↙↖1↙↑↗↑5←42🐭←↙5↗↙↑←↓↖↗4↗1↑2\begin{matrix} 🐭&\color{grey}\leftarrow&\small\color{grey}\swarrow&5\\ \small\color{grey}\nearrow&\small\color{grey}\swarrow&\color{grey}\uparrow&\color{grey}\leftarrow\\ \color{grey}\downarrow&\small\color{grey}\nwarrow&\small\color{grey}\nearrow&4\\ \small\color{grey}\nearrow&1&\color{grey}\uparrow&2 \end{matrix} Hungry Mouseの周りにはチーズはもうないので、そこで止まります。 挑戦 チーズの初期構成を考えると、ハングリーマウスがそれらを食べるのをやめたら、コードは残りのパイルの合計を印刷または返す必要があります。 上記の例では、予想される回答はです。121212 ルール 入力行列のサイズは固定されているため、2D配列または1次元配列のいずれかとして受け取ることができます。 からまでの各値は、度だけ表示されることが保証されています。111161616 これはcode-golfです。 テストケース [ [ 4, 3, 2, 1], [ 5, 6, 7, 8], [12, 11, 10, …
85 code-golf  matrix 

30
コードの2倍の長さの出力を作成する
挑戦 プログラムの長さの2倍のバイトを標準出力に書き込む完全なプログラムを作成します。 ルール プログラムは、ASCII文字を標準出力に書き込む必要があります。 出力の内容は重要ではありません。 バイト単位で測定される出力は、ボーナスを満たさない限り、プログラムの長さのちょうど 2倍であり、バイト単位でも測定される必要があります。 末尾の改行は、出力のバイトカウントに含まれます。 ボーナス プログラムはn、入力として、オプションで数字を受け取ることができます。その場合、出力は正確にn * program lengthバイトでなければなりません。nは常に正の整数であると仮定できます。入力が提供されない場合、nデフォルトは2 でなければなりません。 これを行うと、スコアから25バイトを差し引くことができます。 最短のプログラムが勝ちます。 制限事項 標準的な抜け穴はありません。 プログラムは少なくとも1バイトの長さが必要です。 ソースコードに不要な空白を追加してその長さを変更する必要はありません。同様に、コメントはカウントされません。 ボーナスを満たさない限り、プログラムは入力を受け付けない必要があります。ボーナスを履行する場合、整数が唯一の入力でなければなりません。 最低スコア(バイト単位のプログラムの長さ-ボーナス)が勝ちます。 各言語の最短回答がその言語に勝ちます。 リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、リーダーボードスニペットに表示することもできます。 …

28
テキストを垂直方向に折りたたむ
次のようなテキストがあるとしましょう(各単語は1行で、スペースなしで) Programming Puzzles & Code Golf それは意味がありません!それは物理学の法則を完全に無視します。 あなたの挑戦は、この不可能な状況を改善し、次のようにテキストを崩壊させることです。 P Prog &uzz Coderam Golflesming そのため、文字の下に空のスペースはありませんが、文字は垂直方向を維持します。 目標は、要件を満たしながら、可能な限り少ないバイト数のソースコードを使用することです。

30
文字列がアナグラムかどうかを判別
チャレンジ 2つの文字列が与えられた場合、両方にまったく同じ文字が含まれている場合は解決します。 例 入力 word、wrdo trueそれらは同じであるがスクランブルされているため、これは戻ります。 入力 単語、wwro これはを返しますfalse。 入力 ボート、鳥羽 これは戻ります true ルール ここにルールがあります! 入力は少なくとも1文字で、8文字を超えないものとします。 特殊文字なし、のみa–z すべての入力は小文字であると想定できます テストケース boat, boat = true toab, boat = true oabt, toab = true a, aa = false zzz, zzzzzzzz = false zyyyzzzz, yyzzzzzy = true sleepy, pyels = false p,p = true

30
これを作るのに時間がかかりました。(YouTubeコメント#1)
ちょっと待ってください。これはトローリングではありません。 バックグラウンド 最近のYouTubeでは、コメントセクションに次のようなパターンが散らばっています。 S St Str Stri Strin String Strin Stri Str St S where Stringは単なるプレースホルダーであり、文字の任意の組み合わせを指します。通常、これらのパターンには1 It took me a lot of time to make this, pls likeつまたは何かが付随し、多くの場合、OPは多くのいいねを集めることに成功します。 タスク あなたは魅力的なゴルフスキルでPPCGにアップボットを蓄積する素晴らしい才能を持っていますが、YouTubeコメントセクションで機知に富んだ発言をしたり、ミームを参照したりするための絶対的な選択肢ではありません。このように、意図的な考えで作られた建設的なコメントは、YouTubeに「いいね」が少ししかありません。これを変更したいです。そのため、上記の決まりきったパターンを作成して、最終的な野心を達成することに頼ります。 簡単に言えばs、次のパターンに適合するように、あなたの仕事は、たとえば、文字列を取得し、改行で区切られたの2*s.length - 1部分文字列を出力sすることです。 (for s= "Hello") H He Hel Hell Hello Hell Hel He H 入力 単一の文字列s。コミュニティの入力デフォルトが適用されます。入力文字列には印刷可能なASCII文字のみが含まれると想定できます。 出力 改行で区切られた複数の行は、上記で説明した適切なパターンを構成します。コミュニティの出力デフォルトが適用されます。出力の先頭および末尾の空白(スペースなどの文字または見えない文字を含まない)行は許可されます。 テストケース …

30
簡単な猫プログラム
最も一般的な標準タスクの1つ(特に難解なプログラミング言語を紹介する場合)は、「catプログラム」を実装することです。STDINをすべて読み取り、STDOUTに出力します。これは、Unixシェルユーティリティにちなんで命名されていますcatが、もちろん、ディスクから読み取られたいくつかのファイルを印刷(および連結)するために通常使用される本物よりもはるかに強力ではありません。 仕事 標準入力ストリームの内容を読み取り、それらを逐語的に標準出力ストリームに書き込む完全なプログラムを作成する必要があります。(ほとんどの言語で理解されているように)あなたの言語には、標準入力および/または出力ストリームをサポートしていない場合にのみ、あなたの代わりにあなたの言語での彼らの最も近い同等のものを意味するためにこれらの用語を取る可能性がある場合(例えばJavaScriptののpromptとalert)。これらはI / O の唯一の許容される形式です。他のインターフェイスはタスクの性質を大幅に変更し、回答の比較をはるかに少なくするためです。 出力には、正確に入力のみが含まれている必要があります。この規則の唯一の例外は、挨拶、ANSIカラーコード、インデントなど、抑制できない言語のインタープリターの一定の出力です。これは、末尾の改行にも適用されます。入力に末尾の改行が含まれていない場合、出力にも改行を含めるべきではありません!(唯一の例外は、実行後に言語が常に末尾の改行を出力する場合です。) 標準出力ストリームに期待される出力が含まれている限り、標準エラーストリームへの出力は無視されます。特に、これは、標準出力ストリームを汚染しない限り、ストリームの終わり(EOF)に達すると、プログラムがエラーで終了できることを意味します。これを行う場合は、エラーのないバージョンも回答に追加することをお勧めします(参照用)。 これは、言語間ではなく各言語内の課題として意図されているため、言語固有のルールがいくつかあります。 言語で標準入力ストリームのヌルバイトをEOFと区別できる場合、プログラムは他のバイトと同様にヌルバイトをサポートする必要があります(つまり、標準出力ストリームにも書き込む必要があります)。 言語で任意の無限入力ストリームをサポートできる場合(つまり、入力でEOFをヒットする前に出力へのバイト出力を開始できる場合)、この場合、プログラムは正しく動作する必要があります。例として、sのyes | tr -d \\n | ./my_cat無限ストリームを出力する必要がありますy。標準出力ストリームを印刷およびフラッシュする頻度はユーザー次第ですが、ストリームに関係なく、有限時間後に発生することを保証する必要があります(これは、特に、次のような特定の文字を待つことができないことを意味します印刷前の改行)。 nullバイト、無限ストリーム、および無関係な出力に関する正確な動作についての回答にメモを追加してください。 追加のルール これは、これに対する最短の解決策で言語を見つけることではありません(空のプログラムがトリックを行う場所があります)-これは、すべての言語で最短の解決策を見つけることです。したがって、回答は承認済みとしてマークされません。 ほとんどの言語での提出は、適切な既存のエンコーディングでバイト単位でスコアリングされます。通常は(必ずしもそうではありませんが)UTF-8です。 Foldersのような一部の言語は、スコア付けが少し難しいです。疑問がある場合は、Metaで質問してください。 このチャレンジよりも新しい言語(または言語バージョン)を使用しても構いません。この課題に対する0バイトの回答を提出するために特別に作成された言語は、公正なゲームですが、特に興味深いものではありません。 提出物をテストできるようにインタープリターが必要であることに注意してください。以前に未実装の言語用にこのインタープリターを自分で作成することは許可されています(推奨されます)。 また、プログラミング言語の通常の基準を満たす必要があることにも注意してください。 選択した言語が、すでに回答を持っている別の(潜在的により人気のある)言語の些細なバリアントである場合(BASICまたはSQL方言、Unixシェル、またはHeadsecksやUnaryのような些細なBrainfuck派生語を考えてください)、既存の回答にメモを追加することを検討してください同じまたは非常に類似したソリューションは、他の言語でも最短です。 以前に無効にされていない限り、http://meta.codegolf.stackexchange.com/q/1061を含む、すべての標準コードゴルフ規則が適用されます。 副次的な注意として、ゴルフにそれほど多くない言語で退屈な(しかし有効な)答えを採点しないでください。これらは、カタログを可能な限り完全にコンパイルしようとするので、この質問には依然として有用です。ただし、主に作成者がコードのゴルフに力を入れなければならない言語では、主に回答を支持してください。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p …
84 code-golf  string 

30
コードを逆方向に印刷-逆クイン
独自のソースコードを逆方向に出力するプログラム、つまりeniuqを作成します。 得点: インターネットからプルデータを使用する場合は+50。 独自のソースコードを読む場合は+25。 1文字につき+1ポイント 最低スコアが勝ちます。 ルール: 他のファイルを使用しない(例reverse.txt) 最小コード長は2文字です。 プログラムを回文にすることはできません。
83 code-golf  quine 

30
コンピューターを終了させて​​下さい!
チャレンジ: 選択したプログラミング言語で、コードが実行されたマシンをシャットダウンします。 ルール リソースの枯渇によるシャットダウンなし(例:強制停止のためのフォークボム) 必要に応じて、特定の環境/ OSでのみ機能するコードを作成できます。 標準的な抜け穴は禁止されています これはcode-golfであるため、バイト数が最も少なくなります!

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