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

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

21
何日ですか(Flooptoniaで)?
あなたは惑星Flooptoniaに向かう途中の宇宙旅行者です!飛行にはさらに47,315年かかるため、極低温に凍結するまでの時間を経過するために、Flooptonianカレンダーの理解に役立つプログラムを作成することにします。 これは、208日間のFlooptonianカレンダーです。 Month Days Input Range Qupu 22 [0-22) Blinkorp 17 [22-39) Paas 24 [39-63) Karpasus 17 [63-80) Floopdoor 1 [80] Dumaflop 28 [81-109) Lindilo 32 [109-141) Fwup 67 [141-208) チャレンジ あなたのプログラムは、年の整数日(範囲[0-208))を与えられて、対応する月の日と月の名前(例えば13 Dumaflop)を出力します。 ただし、例外があります。Floopdoorは、独自のカレンダーページにふさわしいFlooptonianの特別な時間です。そのため、Floopdoorは日で記述されていません(つまり、出力はでありFloopdoor、ではありません1 Floopdoor)。 テストケース 0 => 1 Qupu 32 => 11 Blinkorp 62 => 24 Paas 77 => …
34 code-golf  date 

30
10進表現が2進数のように見える、指定された数の倍数を見つける
私が遭遇している問題に興味深いと思われるコードレビューサイトで。OPは間違っていると思いますが、確信が持てません...それでは彼のために解決しましょう!(関数/手順ではなくプログラムを書く) 入力(stdinまたは類似): x10進表記の整数。1より大きく2 ^ 31未満です。 出力(stdoutまたは類似): y10進表記の整数。x * y10進表記の製品には、数字0と1のみが含まれている必要があります。0より大きい最小の数字でなければなりません。 注:出力は制限されません-最小値yが約10 ^ 100の場合、プログラムは100桁すべてを出力する必要があります(2 ^ 64などの合理的な制限があるかどうかはわかりませんy-それを解決しませんでした) )。 プログラムは、すべてのx範囲で妥当な時間(1秒?1時間?-そのようなもの)で終了するはずです。 ボーナス: あなたのプログラムは、(RAMを除く)入力の大きさに制限があり、そしてにより多項式の複雑さ、あなたのプログラムの乗算バイト数を持っていない場合は0.8ダウンとラウンド。 例:入力2; 出力5、2 * 5 = 10であるため 例:入力21; 48121 * 481 = 10101であるため、出力 免責事項:私はコードレビューサイトの質問に対して責任を負いません。矛盾がある場合は、上記の説明のみを適切な仕様と見なす必要があります。 OEIS A079339
34 code-golf  number 

1
マインスイーパソルバー
マインスイーパフィールドは既に生成されていますが、PCGが爆発する前に、生成された地雷を掃く必要があります! あなたの仕事は、「Working Minesweeper」の承認されたソリューションのわずかに修正されたバージョンと互換性のあるマインスイーパソルバーを作成することです(アクションはスペースで区切られ、より大きなフィールドを可能にします)。 入力:マインスイーパフィールド、スペースで区切られたフィールド。最初の行は、鉱山の総数を示しています。 x:そのまま !:フラグ 桁:そのフィールドの周囲の地雷の数 例: 10 0 0 1 x x x x x 0 0 2 x x x x x 0 0 2 ! x x x x 0 0 1 2 x x x x 0 0 0 1 x x x x 1 …

30
入力の各単語の最初の文字を大文字にする
これは比較的簡単な方法ですが、きっと気に入っていただけると思います。 Codegolfは、文の形式で入力を取得し、各単語の最初の文字を大文字にして出力を提供するプログラムです。 ルール: 提出は、関数の形式ではない場合があります。だからいいえ: function x(y){z=some_kind_of_magic(y);return z;} 最終的な答えとして...コードは、入力を受け取り、出力を提供することを示す必要があります。 コードは、入力に含まれる他の大文字を保持する必要があります。そう eCommerce and eBusiness are cool, don't you agree, Richard III? としてレンダリングされます ECommerce And EBusiness Are Cool, Don't You Agree, Richard III? 「簡単、正規表現を使用するだけです!」選択したゴルフ言語でネイティブの正規表現を使用すると、30文字のペナルティが発生し、最終的なコードカウントに適用されます。悪魔のような笑い この場合の「単語」は、スペースで区切られたものです。したがってpalate cleanser、2語ですが、pigeon-toed1語と見なされます。if_you_love_her_then_you_should_put_a_ring_on_it1つの単語と見なされます。単語がアルファベット以外の文字で始まる場合、単語は保持されるため_this、レンダリング後はのままになり_thisます。(このテストケースを指摘してくれたMartin Buttnerに感謝します)。 4b。入力フレーズ内の単語が単一のスペースで区切られる保証はありません。 テストケース(コードのテストに使用してください): 入力: eCommerce rocks. crazyCamelCase stuff. _those pigeon-toed shennanigans. Fiery trailblazing 345 thirty-two Roger. The …

18
配列の展開解除
この課題はMathematica.SEに関する質問に触発されました。 任意の構造のネストされたリスト/配列があるとします(各レベルのリストは必ずしも同じ長さではありません)。簡単にするために、ノードは負でない整数または空の配列であると仮定します。例として [[[1, 3], 2], [1, 4], 12, [[0, [], 0], [5, [7]]]] リストをフラット化してノードの操作を実行する方が便利な場合があります。たとえば、 --> [1, 3, 2, 1, 4, 12, 0, 0, 5, 7] --> [1, 1, 0, 1, 0, 0, 0, 0, 1, 1] しかし、最終的には元の構造を保存したいので、これを元に戻したい --> [[[1, 1], 0], [1, 0], 0, [[0, [], 0], [1, [1]]] あなたの仕事は、その最後のステップを実行することです。 …

5
レーザーはどこに行きますか?
2次元のグリッドを作成し、その上に多数の線セグメントを描画してミラーを表します。次に、理論上のレーザーを配置するポイントと、それが指す方向を定義する角度を選択します。質問は、指定された距離でレーザー光線の経路をたどる場合、どの座標点にいますか? 例: この画像において、Lレーザの位置であり、t(正のX軸から測定される)、それの角度であり、M1、M2、およびM3すべての線分のミラーであり、E後のレーザビーム経路上の点であるD = d1 + d2 + d3 + d4から出発単位L。 ゴール 出力する(バイト単位)最短プログラムを書くE与えL、t、D、及びミラーのリスト。 (http://mothereff.in/byte-counterを使用してバイトをカウントします。) 入力フォーマット 入力は次の形式で標準入力から取得されます。 Lx Ly t D M1x1 M1y1 M1x2 M1y2 M2x1 M2y1 M2x2 M2y2 ... すべての値は、この正規表現に一致する浮動小数点になります[-+]?[0-9]*\.?[0-9]+。 各番号の間には常に1つのスペースがあります。 入力を引用符で囲む必要があります。 t単位は度ですが、必ずしも[0, 360)範囲内ではありません。(代わりにラジアンを使用したい場合は、答えでそう言ってください。) D負の場合があり、レーザーを180度回転させます。D0の場合もあります。 任意の数のミラーが存在する場合があります(ミラーをまったく含まない場合もあります)。 ミラーの順序は重要ではありません。 入力は4の倍数になると想定できます。たとえば、Lx Ly tまたはLx Ly t D M1x1無効であり、テストされません。入力もまったく無効ではありません。 上記のレイアウトは次のように入力できます。 1 1 430 17 4.8 …
34 code-golf 

23
暗号ハッシュゴルフ
このコンテストは終了しました。 警官と強盗のチャレンジの性質により、警官のチャレンジは、関連する強盗のチャレンジへの関心が減少した場合、はるかに簡単になります。したがって、ハッシュ関数を投稿することはできますが、回答は受け入れられず、リーダーボードの一部にもなりません。 この課題は、最短の実装のために検索されたハッシュ関数で衝突耐性、すなわち、同じハッシュを持つ2つの異なるメッセージを見つけるために実行不可能でなければなりません。 警官として、あなたはコードサイズと衝突抵抗の間の最良の妥協点を見つけるハッシュ関数を発明して実装しようとします。あまりにも多くのバイトを使用すると、別の警官があなたを追い出します! 強盗として、あなたは警官の機能をクラックすることで警官の試みを阻止しようとし、それらが不適切であることを証明します。これにより、アルゴリズムを強化するためにより多くのバイトが使用されるようになります! 警官の挑戦 仕事 暗号化ハッシュ関数H:I-> Oを選択して実装します。ここで、Iは2 2 30未満のすべての非負整数のセットであり、Oは2 128未満のすべての非負整数のセットです。 Hは、単一の整数、整数または整数の配列の文字列表現、またはSTDINから読み取り10進数または16進数でSTDOUTに出力する完全なプログラムを受け入れて返す実際の関数として実装できます。 得点 Hそれは抵抗するがあることを強盗は挑戦以下に定義します。 強盗が投稿後最初の168時間以内にあなたの投稿を無効にすると、クラックされたと見なされます。 Hの実装はできるだけ短くする必要があります。最短のクラックされていない提出物が警官チャレンジの勝者になります。 追加のルール Hを関数として実装する場合、上で説明したように動作するプログラム内から関数を実行するラッパーを提供してください。 プログラムまたはラッパーに少なくとも3つのテストベクトルを入力してください(入力例と対応する出力)。 Hは、自分で実装する限り、新しい設計(推奨)または既知のアルゴリズムにすることができます。あらゆる種類の組み込みハッシュ関数、圧縮関数、暗号、PRNGなどを使用することは禁じられています。 ハッシュ関数(たとえば、ベース変換)を実装するために一般的に使用されるすべての組み込みは、公正なゲームです。 プログラムまたは関数の出力は確定的でなければなりません。 x86またはx64プラットフォーム上で、またはWebブラウザー内から実行できる無料の(ビールのように)コンパイラー/インタープリターが必要です。 プログラムまたは関数は合理的に効率的で、2 2 19未満のIのメッセージを1秒未満でハッシュする必要があります。 エッジケースの場合、私のマシン(Intel Core i7-3770、16 GiBのRAM)にかかる(壁の)時間は決定的になります。 この課題の性質を考えると、出力を変更するかどうかにかかわらず、回答のコードを何らかの方法で変更することは禁止されています。 提出物がクラックされている場合(または、クラックされていない場合でも)、追加の回答を投稿できます。 回答が無効な場合(たとえば、I / O仕様に準拠していない場合)、削除してください。 例 Python 2.7、22バイト def H(M): return M%17 ラッパー print H(int(input())) 強盗チャレンジ 仕事 に次のように掲載することにより提出警官のいずれかをクラックスレッド強盗:二つのメッセージMとNでIようにH(M)= H(N)およびM≠N …

4
フリッピンスクエア
行または列のみを反転(中心点を中心に反転)することにより、数字の正方形を混乱させるプログラムまたは関数を作成します。 入力 入力は、次のような9行の文字列の形式の9x9の数字グリッドです。 986553229 264564891 759176443 643982153 567891234 526917874 685328912 891732537 117644378 この入力形式は交渉不可能です。入力形式で「創造的」なソリューションは無効と見なされます。 出力 出力は、指定された順序で入力に適用されたときにターゲットグリッドを再作成する必要があるフリップ移動のリストである必要があります。 出力例(前の入力例の解決策ではありません): 28IF5D3EAB9G3 この出力形式も交渉不可です。出力には改行やスペースがなく、文字1- 9とA- のみがI必要です(必要に応じて、大文字の代わりに小文字を使用できます)。 ターゲットグリッド(再作成する必要がある状態)は次のとおりです。 123456789 234567891 345678912 456789123 567891234 678912345 789123456 891234567 912345678 数字1- 9行を反転するための指示として使用する必要があり、文字A- Iは列に使用する必要があります。これは、グリッドが復元された状態で以下に示されています。 ABCDEFGHI ||||||||| vvvvvvvvv 1 -> 123456789 2 -> 234567891 3 -> 345678912 4 -> 456789123 5 -> …
34 code-golf 

22
ハート形を描く
チャレンジ ハート形を描く ... ASCIIアートとして! あなたのアートは私のもののように見える必要はありませんが、ハートの形に見える必要があります。 心の内側には「愛」という言葉が少なくとも20回含まれている必要があります ルール プログラムはコンソールにアートを書き込む必要があります。 最短のコード(バイト単位、任意の言語)が優先されます。 優勝者はバレンタインデーの2月14日に選ばれます

30
ROT-13変換標準入力
課題:任意の長さの入力を読み取り、入力のROT13を生成する。AZ以外のすべての文字をそのまま出力にコピーし、可能であれば大文字と小文字を区別する必要があります。 標準ストリームを読み書きできる言語はどれも公平なゲームです。

30
この数字は悪ですか?
前書き 数論では、そのバイナリ表現に1の偶数がある場合、数は悪と見なされます。今日の課題では、特定の数が悪かどうかを特定します。 チャレンジ あなたの仕事は、その数字が悪かどうかに関係なく、入力および出力として単一の非負整数を受け入れる(または返す)完全なプログラムまたは関数を書くことです。 数値が悪ければ真理値を出力し、数値が悪でなければ偽値を出力できます。 受け入れ可能な形式で入力および出力できます。 標準の抜け穴は許可されていません。 OEISシーケンスA001969は、すべての悪の番号を含むシーケンスです。 ここでは最初の10000の悪番号のリストは、参考のために、である(そしてより多くのテストケース!) この質問はcode-golfなので、短いほど良いです。 ゴルフ言語の極端に短い答えに惑わされないでください。好きな言語で送信することをお勧めします。 以下にテストケースを示します。 3 => True 11 => False 777 => True 43 => True 55 => False 666 => False リーダーボード ページの下部には、この質問のリーダーボードを含むスタックスニペットがあります。(ありがとう、@ MartinEnder) 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 …

30
インターレース文字列
あなたの課題は、同じ長さの2つの文字列が与えられたときに、他のすべての文字をスワップし、結果の文字列をいずれかの順序で出力/返すプログラムまたは関数を書くことです。 例 "Hello," "world!" --> "Hollo!" "werld," "code" "golf" --> "codf" "gole" "happy" "angry" --> "hnpry" "aagpy" "qwerty" "dvorak" --> "qvertk" "dworay" "1, 2, 3" "a, b, c" --> "1, b, 3" "a, 2, c" "3.141592653589" "2.718281828459" --> "3.111291623489" "2.748582858559" "DJMcMayhem" "trichoplax" --> "DrMcMoylex" "tJichapham" "Doorknob" "Downgoat" --> "Doonkoot" "Dowrgnab" …
34 code-golf  string 

6
2倍にして再配置することでこの数に到達できますか?
Math.SEに関するこの質問に触発されました。 以降では1、繰り返し次の二つのいずれかの操作を行うことができます: 数を2倍にします。 または 先行ゼロがないことを除いて、任意の方法で数字を並べ替えます。 リンクされたMath.SE投稿から例を挙げると1000、次の手順でアクセスできます。 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 125, 250, 500, 1000 このプロセスでどの数値に到達できますか、最も短い解決策は何ですか? チャレンジ 正の整数Nを指定すると、可能であればN、上記のプロセスで到達する整数の最短のシーケンスを決定します。最適なソリューションが複数ある場合は、いずれかを出力します。そのようなシーケンスが存在しない場合は、空のリストを出力する必要があります。 シーケンスは、便利で曖昧さのない任意の文字列またはリスト形式にすることができます。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。 テストケース 256までのすべての到達可能数のリストを次に示します。最初の列は数値(入力)、2番目の列は最適なステップ数(ソリューションの有効性を確認するために使用できます)、3番目は列は、そこに到達するための最適なシーケンスの1つです。 1 1 {1} 2 2 {1,2} 4 3 {1,2,4} 8 4 {1,2,4,8} 16 5 {1,2,4,8,16} 23 7 {1,2,4,8,16,32,23} 29 10 {1,2,4,8,16,32,23,46,92,29} 32 …

30
私の電子レンジはどれくらいの時間作動しますか?
お腹が空きました。電子レンジをしましょう。1から4桁の数値入力が与えられた場合、マイクロ波が実行される秒数を出力します。 詳細 ユーザーが秒または秒と分を組み合わせて入力しているかどうかを判断するのがコツです。1桁と10桁は秒と解釈され、数百と数千桁は分である必要があります。たとえば、値1234は12分34秒として解釈され、987698分76秒である必要があります。入力する130と、90両方とも90秒のクック時間になります。 他のいくつかの入力と出力は次のとおりです。 1 = 1 11 = 11 111 = 71 1111 = 671 9 = 9 99 = 99 999 = 639 9999 = 6039 ルール これはcode-golfであるため、バイト単位の最短プログラムが優先されます。標準の抜け穴は許可されていません。1から9999までの整数入力が与えられた場合、受賞エントリは正しい答えを返さなければなりません。
33 code-golf  number 

9
「ソート」アルゴリズム
スターリンソートとも呼ばれる「ソートアルゴリズム」があり、リストをソートするには、リストが昇順にソートされるまでリストから要素を削除するだけです。たとえば、リスト [1, 2, 4, 5, 3, 6, 6] スターリンの並べ替えを使用して「並べ替え」が行われる場合 [1, 2, 4, 5, 6, 6] 3つは故障していたため削除されました。 当然、要素を削除してリストをソートする方法はたくさんあります。たとえば、要素が2つ未満のリストは並べ替える必要があります。そのため、盲目的に十分な要素を削除するだけで、常にリストを並べ替えることができます。これが事実であるため、スターリンの並べ替えから可能な限り長い結果のみを考慮します。 あなたの仕事は、正の整数のリストを取得し、元のリストから要素を削除することで到達できる最長のソートされた(増加する)リストの長さを出力することです。それは、最長のソートされた(おそらく不連続な)サブリストの長さを見つけることです。 ソートされたリストは、同じ要素を連続して複数回持つことができます。プログラム自体が空でない限り、空のリストをサポートする必要はありません。 得点 あなたの答えは、スターリンの可能な限り最長のソートの長さによって採点されます。プログラムは文字ではなくバイトのシーケンスとして解釈され、その順序はバイトを数字として解釈することによって生じる自然な順序になります。スコアが低いほど優れています。 これはコードゴルフではありません ここだきちんと-Oツール、あなたの答えを得点を支援します。 テストケース [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

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