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

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

16
最短の固有部分文字列
(STDINでは、コマンドライン引数として、または関数引数として)2つの異なる空ではない文字列を指定し、2番目の部分文字列ではない最初の文字列の最短部分文字列を見つけて返します。そのような部分文字列が存在しない場合は、空の文字列を返すか、元の文字列の部分文字列ではない文字列を返すか、例外をスローできます。関数から戻る場合、この場合はnull(または未定義、Noneなど)を返すこともできます。複数のこのような部分文字列が最短で結び付けられている場合、それらのいずれかを返すことができます。 文字列は、印刷可能な任意のASCII文字で構成できます。 STDINで指定された入力は、各行に1つの文字列で指定されます。リクエストに応じて、入力の最後に単一の空行を追加できます。 これはコードゴルフであるため、最短の有効なプログラムが勝ちます。 いくつかのテストケース 入力: STRING ONE STRING TWO 出力: E 入力: A&&C A&$C 有効な出力: && &C 入力: (2つのランダムに生成された80文字の文字列) QIJYXPYWIWESWBRFWUHEERVQFJROYIXNKPKVDDFFZBUNBRZVUEYKLURBJCZJYMINCZNQEYKRADRYSWMH HAXUDFLYFSLABUCXUWNHPSGQUXMQUIQYRWVIXGNKJGYUTWMLLPRIZDRLFXWKXOBOOEFESKNCUIFHNLFE すべての有効な出力: AD BJ BR CZ DD EE ER EY EY FF FJ FW FZ HE IJ IN IW JC JR JY KL KP KR KV LU MH MI …
14 code-golf  string 

3
円グラフを作成する
課題は簡単です。 多数の入力値に基づいて円グラフを作成します。 入力は正の数、10進数または整数のリストになり、出力は円グラフになります。各入力値は別々の色で表され、各領域の外側のパーセンテージ値になります。 ルール: 色は視覚的に区別できる必要があります(正確な色はオプションです) 少なくとも2つ、最大10の入力値があります 円の半径は[100 300]ピクセル 範囲内である必要があります デフォルトの出力が[100, 300]ピクセルの半径を与える限り、ベクターグラフィックスは問題ありません パーセント値は整数でなければならない パーセント値をどこに配置するかという厳密な規則はありませんが、どの領域に属するかを簡単に確認する必要があります 最も近い文字と円の外縁の間の距離は、[5, 40]ピクセル範囲内である必要があります フォントはオプションです プロットには、各領域を分離する黒い線がある場合とない場合があります 円グラフを作成するために作成された関数、たとえば、MATLAB:pie、Python:matplotlib.pyplot.pieおよびMathematica:PieChartは使用できません 通常の丸め規則(の場合は上(1.00, 0.5]、の場合は下(0.5, 0.00)) スライスのパーセント値がより小さい場合0.5%、output 0%。スライスはまだプロットに含まれている必要があります。 試験用のプロット(または通訳へのリンク)を提供してください。10個の入力値を持つプロットのみを表示するだけで十分です(非常に長い回答を避けるため) 例 以下のサンプル値を使用してください。数値リストコンバータを使用して、リストを適切な形式に変換できます。たとえば、jimmy23013によるこの27バイトです。 x = [0.3, 1.2] x = [3, 6, 2, 10] x = [0.4387, 0.3816, 0.7655, 0.7952, 0.1869, 0.4898, 0.4456, 0.6463, 0.7094, 0.7547]

6
ASCIIアートマヤの数字
この挑戦は簡単です。数値を指定して、Mayan Base-20数字システムを使用して、数値のascii-art表現を出力します。 マヤシステムとは何ですか? マヤ人は20を基数を格納するため、最初の位置は1sプレイス、次は20sプレイス、そして400 sなど。 したがって、マヤの数1は110を底にしています10が、実際に20は10を底にしてい207ます807等のベース10、中... そして、彼らは数字を絵文字として表し、特別な記号を付けました0。 ------------------- | | | | | | | | | | |-------------------| | | | | ------------------- それは彼らのゼロでした。(少なくともpicascii半分私の芸術のアスキーアート版の半分) これはマヤのゼロ記号の実際の図です。1 これは彼らの5つでした: -------------------------------- | | -------------------------------- そして4: ---- ---- ---- ---- | | | | | | | | | | | | | | …

4
重力の切り替え
チャレンジ 合理的な方法で、入力としてプレーン上の文字のASCIIアート表現が提供されます。これには以下のみが含まれます。 [a-z]可動文字を表します。すべての手紙は、せいぜい一度だけボードに表示されます。 # 不動の壁を表す . 空きスペースを表す 例えば: abcdef.gh#.. .......ij.#. #..#.......# ...#.#...### .#.......#q# .........### 重力の変化を表す文字列も与えられます。これには以下のみが含まれます。 > 右向きの重力への変化を表す < 左向きの重力への変化を表す ^ 上向きの重力への変化を表す v 下向きの重力への変化を表す 例えば: v>^ プログラムは、すべてのキャラクターが動きを止める(壁や他のキャラクターにぶつかる)まで、重力の各変化を順番にシミュレートする必要があります。「マップの端から落ちる」キャラクターは永久に削除され、キャラクターは互いの上に「積み重なる」ことができます。 この例では、開始時に(下向きの重力があるv)のでc、e、g、h、i、及びj地図の底から落ちます。他のすべてのキャラクターは壁にぶつかるまで下にスライドし、マップは次のようになります。 .........#.. a..d......#. #..#.f.....# .b.#.#...### .#.......#q# .........### 次に、右方向の重力(>)にa進みますd。これにより、次のようになります。 .........#.. ........ad#. #..#......f# ..b#.#...### .#.......#q# .........### 最後に、我々は(上向きの重力をシミュレートし^ている間に、)aおよびbマップ脱落。 .........#.. .........d#. #..#......f# ...#.#...### .#.......#q# .........### あなたの仕事は、重力シフト後に残りのキャラクターを出力することです。任意の順序で指定できます。この例では、の任意の順列を出力できますdfq。 テストケース 次のマップの場合: …
14 code-golf 

6
未ソート配列にセミソートを挿入
PPCG Incの最初の日へようこそ。最新のジュニアアシスタントドキュメントソーターとして、送信されたすべてのドキュメントがアルファベット順にアーカイブされていることを確認する責任があります。猿ができるのはとても簡単です。まあ、比phor的に言えば、私たちはそれを行うために猿を雇ったのです。何だと思う?サルはアルファベットを理解していないことがわかります。とにかく、今の混乱を修正する時間がないので、状況を悪化させないようにしてください。その後、それを取得します!おなかがすいたら、ウォータークーラーのそばにバナナがあります。幸運を! 仕事内容 入力 文字列のリスト(アーカイブ)と、そのリストに追加する必要のある文字列(ドキュメント)を受け取ります。 すべての文字列には、大文字、小文字、スペースのみが含まれます 文字列は常に文字で始まり、文字で終わる 仕事 ドキュメントのターゲット位置を決定します:アーカイブ内で受け取るべき位置。目標位置は次のように決定できます。 各ポジションについて: 文書内のアルファベット順で、その位置の前のアーカイブ内の文字列の量を数えます 文書内のアルファベット順で、その位置の後のアーカイブ内の文字列の量を数えます 上記の2つのカウントの合計としてポジションのスコアを定義します ドキュメントの目標位置は、最高スコアの位置です 同点の場合、最高スコアのすべてのポジションがターゲットポジションとして等しく有効です。1つだけを選択する必要があります。 ソートする場合: 大文字と小文字は同等です 文字の前にスペースが来る 出力 任意の形式でドキュメントが追加されたアーカイブ または 0ベースまたは1ベースのインデックスでのドキュメントのターゲット位置 職務評価 最少バイトが勝ちます! I / Oの例 Archive: Applebuck Season Friendship is Magic The Ticket Master Griffon the BrushOff Boast Busters Bridle Gossip Document: Dragonshy Position scores (0-based index): 0: …

7
インデックス付きフラクタルを描く
前書き この課題では、2×2マトリックスに次のようにインデックスが付けられます。 0 1 2 3 フラクタルのようなパターンのファミリーを定義しますF(L)。ここでLは、nこれらのインデックスの長さリストであり、F(L)size を持ちます。2n-1 × 2n-1 の場合L == []、F(L)は1×1パターン#です。 の場合L != []、F(L)次のように構築されます。ましょう最初の要素が削除されたPから取得されたパターンになりますL。ピリオドで満たされたサイズの4つのグリッドを取得し、インデックス付きのグリッドをパターンで置き換えます。次に、グリッドの間にハッシュの1つの層を使用してグリッドを接着します。以下に4つのケースの図を示します。2n-1-1 × 2n-1-1.L[0]P# L[0]==0 L[0]==1 L[0]==2 L[0]==3 #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# ...#... ...#... ####### ####### ####### ####### ...#... ...#... #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# …

5
樹木的に満足する点集合を特定する
arborally満足点セットは、対角としてセット内の2点を用いて形成することができる任意の軸に整列長方形のために、その矩形が少なくとも一つの他の点を含む、または接触、ように点の2次元集合です。ウィキペディアの同等の定義を次に示します。 次のプロパティが成り立つ場合、ポイントセットはアーボリーに満たされていると言われます:両方が同じ水平線または垂直線上にないポイントのペアについて、最初の2つのポイント(内部または境界のいずれか)。 次の図は、長方形がどのように形成されるかを示しています。この長方形は少なくとも1つ以上の点を含む必要があるため、この点集合は樹木学的に満たされていません。 ASCIIアートでは、このポイントセットは次のように表すことができます。 ...... ....O. ...... .O.... ...... 少し変更することで、これを十分に満足させることができます。 ...... ....O. ...... .O..O. ...... 上記では、すべての長方形(そのうちの1つだけ)には少なくとも3つのポイントが含まれていることがわかります。 樹木学的に満たされるより複雑な点集合の別の例を次に示します。 2点にまたがって描画できる長方形の場合、その長方形には少なくとも1つの他の点が含まれます。 チャレンジ (私が表す点の長方形のグリッド所与O)および空のスペース(私はと表す.)、出力truthyのそれがarborally満たされる場合、値、またはfalseyのそうでない場合、値。これはコードゴルフです。 追加のルール: 文字Oを選択して、.印刷可能な他のASCII文字のペアと交換することができます。プログラムが使用する文字マッピングを指定するだけです。 グリッドは常に長方形になります。末尾の改行を使用できます。 その他の例 満足している: .OOO. OO... .O.OO .O..O ....O ..O.. OOOO. ...O. .O.O. ...OO O.O. ..O. OOOO .O.O OO.. ... ... ... ... ..O ... O..... O.O..O .....O OOO.OO …

7
ひもを風車に変える
このサイトのコードは急速に枯渇しています。再生可能なストリングに投資する必要があります。そのため、文字列を取得して風車に変換するプログラムを作成する必要があります。 チャレンジ 簡単な風車のひもを例に取りましょう。文字列を取りますabc。ピボットは、この場合、中央の文字、ですb。文字列は3文字の長さであるので、すべての出力は次のようになります正確に背の高い3行3つの文字幅。手順1の出力を次に示します(空白に注意してください)。 abc 次のステップに進むには、ピボットを中心に各文字を時計回りに回転させます。これがステップ2です。 a b c 手順3〜8は次のとおりです。 a b c a b c cba c b a c b a c b a そして、9番目のステップで、元の文字列に完全な円を描きます。 abc bずっと同じ場所に留まったことに注意してください。これはb、ピボット文字であるためです。入力として文字列を受け取り、プログラムが終了するまでこのシーケンスを繰り返し出力するプログラムまたは関数を作成する必要があります。 明確化 すべての入力文字列の文字数は奇数です。(すべての風車がピボットを持つように) チャレンジを簡単にするために、すべての文字列には大文字と小文字のアルファベットのみが含まれます。 出力はlen(input_string)文字の幅と高さでなければなりません。 永遠に回転とループを続ける限り、シーケンスのどのステップから始めても構いません。 より多くのテストIO: 投稿はすでにかなり長いため、「windmill」の出力へのリンクを次に示します。 サイドノート: これは風車であるはずなので、小さな時間遅延または各ステップ間のユーザー入力でアニメーション化するボイラープレートコードを含めると素晴らしいでしょう。ただし、一部の言語には時間の組み込み機能がないため、これは必須ではありません。提出物の競合部分は、できるだけ早くシーケンスを印刷できます。

2
Snake Parserを作成してください!
ヘビは次のようになります。 >>>v @ ^ v ^ >>>^ v ^ v ^<<<<<<<<< この場合のように、ヘビは自分自身を横切ることができます: @ ^ >^>v ^<< クロスオーバーを有効にするには、両側のキャラクターが同じ方向に移動している必要があります。の場合 @ >^v ^< 不明確で無効と見なすことができます。 出力はWASD、先頭から末尾に向かうことを表す文字列です(@)。 バックトラックせず、あいまいでもないヘビを考えると、ヘビがとる動きの文字列を出力するプログラムを作成できますか? これはコードゴルフなので、最短の回答が勝ちます! テストケース: (注:@はにない任意の文字に置き換えることができますv^<>) 入力: >>>>v v v<< @ v ^ >>>>>^ 出力: ddddssaassdddddww 入力: @>>v ^ v ^ v ^<<< 出力: dddsssaaawww 入力: >>>v v @ v …

8
0〜9と4つの操作のみで数値を表現する
説明 Befungeは、stacksを使用する2次元プログラムです。 つまり、5 + 6を行うには、と書く56+、という意味です。 56+ 5 push 5 into stack 6 push 6 into stack + pop the first two items in the stack and add them up, and push the result into stack (to those of you who do not know stacks, "push" just means add and "pop" …

10
何歩歩きましたか?
単純な歩数計は、反対のX = 0における側面オンおよびX = 1つの上の2つのスイッチと振り子によってモデル化することができるL。振り子がファースイッチに接触すると、歩行器は半分のステップを踏んだと見なすことができます。近くのスイッチに接触すると、手順は完了です。 振り子の位置を表す整数のリストが与えられたら、歩数計に記録された完全な歩数を決定します。 入力 整数l > 0、トラックの長さ。 各時間における歩数計の振り子の位置を表す整数のリスト。 出力 測定されたフルステップの数。振り子が遠くのスイッチ(x> = l)に接触し、次に近くのスイッチ(x <= 0)に接触するとステップが取られます。 テストケース 8, [8, 3, 0, 1, 0, 2, 2, 9, 4, 7] 1 振り子は、t = 0でx = 8ですぐにファースイッチと接触します。次に、t = 2とt = 4で近くのスイッチに触れて、1つのステップを完了します。その後、x = 9でt = 8に再びファースイッチに触れますが、ニアスイッチには再び触れません。 1, [1, 5, -1, -4, -1, 1, …

3
2D平面上の最長パス
任意の一意の2d整数デカルト座標のセットが提供されます。例:[(0,0)、(0,1)、(1,0)] この座標セットから可能な限り最長のパスを見つけます。ただし、座標を1回だけ「訪問」できるという制限があります。(そして、あなたが始めた座標に「戻る」ことはありません)。 重要: 座標またはその周囲を「通過」することはできません。たとえば、最後の音符の例(長方形)では、Cにアクセスせずに DからAに移動することはできません(これは再訪であり、見つかった長さを無効にします)。これは@FryAmTheEggmanによって指摘されました。 関数入力: 2次元デカルト座標の配列 関数出力:最大長のみ 勝者: 最短のコードが勝ち、ホールドが禁止されません(最も時空効率が悪い) 例 1:この例では、2回「訪問」された座標がない最長パスはA-> B-> O(またはOBA、またはBAO)であり、パスの長さはsqrt(2)+ 1 = 2.414です。 2:上記のこのケースでは、座標が2回「訪問」されていない最長パスはABOC(および明らかにCOBA、OCABなど)であり、示されている単位正方形の場合、sqrt(2)+ sqrt(2)+ 1 = 3.828。 注:これは、前の2つの例ほど簡単ではない追加のテストケースです。これは、6つの座標から形成される長方形です。 ここで、最長パスはA-> E-> C-> O-> D-> Bです。これは8.7147です。 (可能な最大の対角線が通過し、エッジが通過しなかった)

6
略語の一般化
単語のリストとその略語の入力が与えられた場合、略語を形成できるパターンを出力します。 の入力例を見てみましょう potato ptao puzzle pzze 例として(つまり、の略語potatoはptaoであり、の略語puzzleはであるpzze)。 取得するためにすべての可能な方法を検討ptaoからをpotato。可能な方法の1つは、最初、3番目、4番目、6番目の文字を取得すること 1346です。しかし、以来tとo言葉に複数回表示され、そこに生成するために、複数の他の可能な方法がありますptaoからはpotato:1546、1342、と1542。 同様に、音符pzzeから生成することができるpuzzleのいずれかと1336、 1346、1436、1446。これら2つの略語に共通する唯一のパターンは1346;です。したがって、それはこの入力の出力でなければなりません。複数の可能なパターンが可能な場合、それらのいずれか、一部、またはすべて(少なくとも1つ)を出力できます。 あなたはそれを仮定するかもしれません: 入力語と略語には小文字のみが含まれます。 入力に少なくとも1つの単語/略語のペアがあります。 すべての略語が、対応する単語から形成される可能性があります。 すべての略語を形成する少なくとも1つのパターンが常に存在します。 各単語の最大長は9文字です。 入力は、次のいずれかとして取得できます。 2次元配列/リスト/タプルの配列/など。 [[word, abbr], [word, abbr], ...] フラットな1次元配列/リスト [word, abbr, word, abbr, ...] 小文字ではない単一の文字で区切られた単一の文字列 "word abbr word abbr" ハッシュ/連想配列/など {word => abbr, word => abbr, ...} これらの入力オプションのいずれでも、単語/略号の順序を入れ替えることができます(投稿の入力形式を完全に説明してください)。 出力は、単一の数字、非数字で区切られた文字列、または配列/リスト/タプル/などとして指定できます。数字の。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース(複数のパターンが機能する場合、1つ以上の結果を出力するだけでよいことに注意してください): In Out -------------------------------------------------------- …
14 code-golf  string 

2
食料品店のマイクロ管理
あなたはヒップな新しい食料品店Half Foodsの従業員であり、感謝祭の クリスマスイースターの前日です。食料品を手に入れるために急いでいる顧客で店がいっぱいになるので、店は皆を適切な行に送るために交通マネージャーを必要とします。怠zyなので、これを自動化して、すべての七面鳥の ハムを食べる前にデリにぶつかることができます。ただし、携帯電話だけを持っているので、長いプログラムをコーディングするのは非常に苦痛です。そのため、忍者コードゴルフのスキルを打ち破る必要があります。 チャレンジ 食料品店を2次元のグリッドで視覚化します。分析するサンプルグリッドを次に示します。 e s s s Y # # #s # #s # #s # #s # #s # #s #s #s # #3 #1 #4 # x x x x グリッドはから始まりe、ストアの残りの部分への「アウトレット」を表します。世代ごとに、グリッド内のすべてのアウトレットは、s真下に買い物客()を生成します。買い物客はあなたに届くまで世代ごとに下降します(Y)。買い物客があなたと同じ列に到達したら、買い物客が最も少ない行の先頭に買い物客をテレポートする必要があります。買い物客は、で行に移動するとすぐに行に移動し、Y間に世代はありません。行は#sで表されます。sの後の列#は行です。買い物客は、(出口で表される行の最後まで行くx)、その後間の乱数に変わる1と5。世代ごとに、番号の付いた買い物客を減らす必要があります1-買い物客が到着すると0、彼らはチェックアウトを済ませ、店を出ます。 このようなグリッドの入力が与えられたら、次世代の食料品店を出力します(すべての買い物客を同時に下に移動し、買い物客をリダイレクトし、終わったら退場させます)。 サンプル 入力: e Y # # # # # # # # # …
14 code-golf  string  grid 

11
正の整数の厳密なパーティション
OEIS A000009は、整数の厳密なパーティションの数をカウントします。厳格なパーティション非負整数のはn(何の繰り返しが許されないので、および順序は重要ではありません)正の整数の集合であるとその合計をn。 例えば、図5は、3つの厳格なパーティションを持っています5、4,1と3,2。 10には10個のパーティションがあります。 10 9,1 8,2 7,3 6,4 7,2,1 6,3,1 5,4,1 5,3,2 4,3,2,1 チャレンジ n1000未満の非負の整数を指定すると、その厳密なパーティションの数が出力されます。 テストケース: 0 -> 1 42 -> 1426 OEISからの0〜55の厳密なパーティション番号のリストを次に示します。 [1,1,1,2,2,3,4,5,6,8,10,12,15,18,22,27,32,38,46,54,64,76,89,104,122,142,165,192,222,256,296,340,390,448,512,585,668,760,864,982,1113,1260,1426,1610,1816,2048,2304,2590,2910,3264,3658,4097,4582,5120,5718,6378] これはcode-golfであるため、バイト単位の最短の解決策が優先されます。

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