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

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

23
ディーラーがデッキを再構築するのを手伝います
ディーラーはずさんで、自分のデッキにどんなカードが入っているのか、どのカードが欠けているのかわからなくなりました。 完全なデッキは、52枚のトランプで構成されています。 デッキの各色(ハート、ダイヤモンド、スペード、クラブ)には以下が含まれます。 数字[2-10] ジャック 女王 王様 エース 仕事 プログラムは、改行が読み取られるまで、STDINからデッキの内容を読み取ります。入力は「nX nX nX nX」などの形式になると想定できます。ここで、 n-[2-10]の間の任意の数、または「J」、「Q」、「K」または「A」のいずれか。(数字以外の文字についてのみ大文字と見なすことができます) X-次のいずれか:「H」、「D」、「S」、「C」(大文字のみと仮定できます) どこで: 「J」=ジャック 「Q」=クイーン 「K」=キング 'A' =エース そして 「H」=ハート 'D' =ダイヤモンド 'S' =スペード 「C」=クラブ 入力に重複がないと仮定できます。 プログラムは、入力と同じ方法( "nX nX nX")でデッキの欠落カードをSTDOUTに印刷するか、52枚すべてのカードが提供されている場合は「欠落カードなし」を印刷する必要があります。カードの出力の順序に制約はありません。 入力例: 9H AH 7C 3S 10S KD JS 9C 2H 8H 8C AC AS AD 7D 4D …
19 code-golf 

5
ネックレス分割問題
バックグラウンド 3Blue1Brownのネックレス分割問題(または盗難ネックレス問題)とBorsuk-Ulam定理との関係に関する最近のビデオに触発されました。 この問題では、2人の泥棒がいくつかの異なる種類の宝石で構成される貴重なネックレスを盗みました。各タイプの宝石は偶数個あり、泥棒はそれぞれのタイプの宝石を2つに均等に分割したいと考えています。キャッチは、ネックレスをいくつかの連続したセグメントに分割し、それらの2つの間にセグメントを分配することによってそうしなければならないということです。 ここで示される4つの宝石の種類の一例でありS、E、D、およびR(それぞれ、サファイア、エメラルド、ダイヤモンド、ルビーのために)。ネックレスは次のようだとしましょう: [S,S,S,E,S,D,E,R,S,R,E,S,S,S,D,R,E,E,R,E,D,E,R,R,D,E,E,E] あり8サファイヤ、10エメラルド、4ダイヤモンド、そして6ルビーは。ネックレスは次のように分割できます。 [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] 次に、1番目の泥棒に1番目、3番目、5番目のセグメントを、もう1つの泥棒に2番目と4番目のセグメントを与えると、それぞれが4サファイア、5エメラルド、2ダイヤモンド、3ルビーになります。 [S], [S,E,S,D,E,R,S], [R,R,D,E,E,E] [S], [R,E,S,S,S,D,R,E,E,R,E,D,E], 0-indexing を使用すると、これらのカットはインデックスで発生します[1,2,9,22]。 ゴール そのような公正な分割は、多くのn場合、常にn宝石の種類の数であるカットを使用して行うことができます。あなたの仕事は、入力としてネックレスを取り、最小のそのような分割(最少のカット数)を出力する完全なプログラムまたは関数を書くことです。 入力 入力は任意の便利な形式にすることができます。ネックレスは一連の宝石である必要があります。たとえば、整数のリスト、宝石の種類を表すキーを持つ辞書、およびインデックスのリストである値。必要に応じて、ネックレスの長さや宝石の種類の数を含めることもできますが、他の入力を行わないでください。 入力ネックレスが有効であるとみなすことができます。特定の種類の宝石の数が奇数である場合や、ネックレスが空の場合に対処する必要はありません。 出力 繰り返しますが、出力は任意の便利な形式にすることができます。たとえば、セグメントのリスト、カット位置のリスト、2つの泥棒を表すキーを持つ辞書、セグメントのリストである値など。セグメントは、開始インデックス、終了インデックス、連続インデックスのリスト、宝石のリスト、それらの長さ、などあなたは使用することができます0-または1-インデックスを。順序がフォーマットにとって重要でない場合、出力は任意の順序になります。上記の出力をいくつかの異なる形式で示します。 list of segments: [[S],[S],[S,E,S,D,E,R,S],[R,E,S,S,S,D,R,E,E,R,E,D,E],[R,R,D,E,E,E]] list of cuts: [1,2,9,22] list of lengths: [1,1,7,13,6] dictionary: {'thief1' : [(R,R,D,E,E,E),(S),(S,E,S,D,E,R,S)], 'thief2' : [(S),(R,E,S,S,S,D,R,E,E,R,E,D,E)]} セグメントのリスト(泥棒の間で交互になっているセグメント)と長さのリスト(セグメントを識別するため)では順序が重要ですが、カットのリストや辞書では重要ではありません。編集:グレッグ・マーティンは、2つのカットで公正な分割が得られるため、これらは有効な出力ではないと指摘した。 テストケース [1,2,1,2,1,3,1,3,3,2,2,3] -> [[1,2,1],[2,1,3,1],[3,3,2],[2,3]] [1,1,1,1,2,2,3,3,3,3,3,3] -> [[1,1],[1,1,2],[2,3,3,3],[3,3,3]] [1,1,1,1,1,1,1,1,1,1,1,1] …

16
増分暗号
このタスクはかなり単純で、3つの異なる「演算子」文字を使用します。あなたの仕事は、使用してそれをエンコードするには、次のタスクを実行し、文字のシンプルなシーケンスを与えられています<、>、*。大文字または小文字を使用することもできますが、両方を処理する必要はありません。 暗号の説明 暗号は簡単です。インクリメントおよびデクリメント操作を使用し*て、「送信」機能として、文字1から末尾の文字まで移動します。「増分」の演算子はになり>、「減分」はになります<。 単語を使用した例adbc: 単語の最初の文字から始めて、その文字を出力します。 a 次に、>and <(brainfuckなど)を使用して、現在の文字を次の文字に「ナビゲート」します。a>その結果a、手紙が1だけ「上がる」ことになりbます。あなたは手紙を下げるので、a<結果になりzます(折り返します、あなたは常に操作の数が最も少なくなる方向を選択する必要があります)。 正しいminimalizedの組み合わせ出力した後<と>出力Aを*、我々は次の文字に達したことを示すために。 エンコードする手順adbcは次のとおりです。 a # a a>>>* # ad a>>>*<<* # adb a>>>*<<*>* # adbc 例 エンコードする手順azaは次のとおりです。 a # a a<* # az a<*>* # aza その他の例: "abcdef" = "a>*>*>*>*>*" "zyaf" = "z<*>>*>>>>>*" "zzzzzz" = "z*****" "z" = "z" "zm" = "z<<<<<<<<<<<<<*" or …
19 code-golf  cipher 

8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 is …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

4
Brachylogでのゴルフのヒント
Brachylogは、最近、コードゴルフで目立つようになり始めている言語です(そして、より簡潔な構文のメジャーアップデートを受け取ったばかりです)。Prologのように、問題がどのように見えるかを十分に正確に説明するだけで問題を解決できることが多いという利点があります。これは、適切な種類の課題では、トップゴルフ言語 Brachylogでゴルフをする(つまり、可能な限り短いプログラムを書く)ためのヒントはありますか?これは主に、幅広い言語に適用できるアドバイスではなく、特にBrachylogに固有のアドバイスを探しています。(Prologでのゴルフのヒントも参照してください。ただし、Brachylog以外の言語に適用するアプリケーションの量によっては、宣言型言語でのゴルフに関するヒントがここで適切である可能性があります。)
19 code-golf  tips 

8
あなたの疲れた、あなたの貧しい人々、自由に呼吸したいあなたの群がった大衆をください
ブロンズプラークの台座にある自由の女神は詩「が表示さ新しい巨像をエマラザロ、読み込みの一部で」: あなたの疲れた、あなたの貧しい人々、 自由に呼吸したいと願っているあなたの群がった大衆 、あなたの満ちている海岸の惨めなゴミをください。 ホームレス、テンペストトースト、これらを私に送ってください、 私は金色のドアの横にランプを持ち上げます! このチャレンジの詩のこのセクションを簡素化するために/、カンマやその他の句読点をそのままにして、すべて大文字にして改行をスラッシュ()に置き換えます。 GIVE ME YOUR TIRED, YOUR POOR,/YOUR HUDDLED MASSES YEARNING TO BREATHE FREE,/THE WRETCHED REFUSE OF YOUR TEEMING SHORE./SEND THESE, THE HOMELESS, TEMPEST-TOST TO ME,/I LIFT MY LAMP BESIDE THE GOLDEN DOOR! この文字列をSと呼びます。md5hashを 持っています8c66bbb9684f591c34751661ce9b5cea。オプションで、末尾に改行があると想定できます0928ff6581bc207d0938b193321f16e6。この場合、md5ハッシュはです。 単一の文字列を取り込むプログラムまたは関数を作成します。文字列がSの場合、1行に1つずつ順番に出力され、詩が描く自由の女神が求める人々のタイプを説明する6つのフレーズ: TIRED POOR HUDDLED MASSES YEARNING TO BREATHE FREE WRETCHED …

30
私をもう少しにしてください!
もっと私を作ってください!幅、グラハムクラッカーの量、チョコレートの量、マシュマロの量を教えてください。例: 入力: 幅:10 グラハム:3 チョコレート:2 マシュマロ:1。 出力: GGGGGGGGGG GGGGGGGGGG GGGGGGGGGG CCCCCCCCCC CCCCCCCCCC MMMMMMMMMM GGGGGGGGGG GGGGGGGGGG GGGGGGGGGG それは簡単なこと?ええと...はい。 入力は、文字列ではなく、関数またはプログラムの引数のリストである必要があることに注意してください。最初にWidthを選択し、次にGrahamを選択できますが、順序は任意です。 興味がある場合は、完全なテストケース。 スタックスニペット(テスト用など) これは、出力をテストするためです。 var smore = function(width, graham, chocolate, marshmallow){ return ("G".repeat(width) + "\n").repeat(graham) + ("C".repeat(width) + "\n").repeat(chocolate) + ("M".repeat(width) + "\n").repeat(marshmallow) + ("G".repeat(width) + "\n").repeat(graham); }; Snippetify(smore); <script src="https://programmer5000.com/snippetify.min.js"></script> Width: <input …

12
アナグラムの要因
QIの最近のエピソードでは、142857の最初の5倍数が元の数のアナグラムとして説明されました。もちろん、その数について十分な知識を持っている人は、アナグラムだけでなく、それらの数が実際に周期的であることを知っています。しかし、それは私に考えさせられました。 それ自体のアナグラムである適切なファクターを持つ6桁以下の数字をすべて出力するプログラムまたは関数を作成してください。リストは次の番号で始まる必要があります。 3105 (divisible by 1035) 7128 (divisible by 1782) 7425 (divisible by 2475) 8316 (divisible by 1386) 8712 (divisible by 2178) 9513 (divisible by 1359) 9801 (divisible by 1089) 必要に応じて、アナグラムが適切な要因である数字を見つけることができますが、アナグラムから先行ゼロを除外するように注意してください。 これはコードゴルフであるため、標準の抜け穴を壊さないバイト単位の最短コードが優先されます。

9
そこにいるか、正方形に!
誰もが「そこにいる、または正方形になる」というフレーズを聞いたことがある。だから私はそれについての挑戦の時だと思った。 入力 STDINまたは同等のものを介した入力として、完全な絶対ディレクトリアドレスをテキストとして受け取ります。 出力 ディレクトリアドレスが存在し、有効な場合、プログラムはコンピューター上のそのフォルダーに移動します。そうでない場合、STDOUTまたは同等の次の正方形を介して出力されます。 +-+ | | +-+ 必要条件 標準の抜け穴は許可されていません。 やむを得ない場合は、単一の末尾の改行を出力できます。 プログラムは、移動された場合、出力を生成してはなりません。 プログラムは、移動先に関係なく、再び実行できる必要があります。 仮定 入力が空になることはないと想定できます。 ディレクトリの最後にファイル名が追加されていないと想定できます。 入力ディレクトリは決して現在のものではないと想定するかもしれません。 どこにでも書き込みおよび実行する権限があると仮定できます。 これはcode-golfであるため、バイト単位の最短回答が優先されます。

1
申し訳ありませんがボードを印刷
ボードゲームをしていただけです 何人かの人々と、そして私はそれからいくつかの興味深い挑戦の基礎を作ることができることに気づきました。これは非常に簡単です。 あなたの仕事は、単にごめんなさいボードのアスキーアートバージョンを出力することです。 スペック まず、こちらが実際の画像です。ごめんなさい!参考のためのボード: 空のボードは次のようになります。 # > - - o # # # # > - - - o # # # # S v o # H # # # # # | | # | | # S o | # # ^ H # # # …

14
ベースを1-2-3-Tribonacciに、バイナリをベースに戻す
バックグラウンド 1-2-3-Tribonacciシーケンス 標準の反復式を次の式で置き換えることにより、フィボナッチ数列を作成できることを少し想像してください。 基本的に、最後の2つを合計して次を取得する代わりに、最後の3つを合計します。これが1-2-3-Tribonacciシーケンスの基礎です。 ブラウンの基準 ブラウンの基準では、次の条件があれば、シーケンスのメンバーの合計として整数値を表すことができます。 n1より大きいすべての場合 これがチャレンジにとって何を意味するか 次の初期条件によって形成される1-2-3-Tribonacciシーケンスのメンバーの合計として、正の整数を記述できます。 これは、このシーケンスのすべての値について、用語間の比率が2より大きくなることはありません(比率は約1.839で平均化されます)。 この数値表現システムでの書き方 リトルエンディアン表現を使用するとします。シーケンスのメンバーを次のように並べます。 1 2 3 6 11 20 37 68 次に、番号を表して(テストでは63)、指定された1-2-3-Tribonacciの値を求めます(合計値は63 (最初に最大値を使用)!)。数値が合計の一部である場合、その下に1を入れ、そうでない場合は0を入れます。 1 2 3 6 11 20 37 68 0 0 0 1 0 1 1 0 任意の整数に対してこれを行うことができます-最初に特定の入力以下の最大値を使用することを確認してください! 定義(最終的に) n1からあなたの言語の最大値の間の(標準ベースで書かれた)正の整数入力が与えられた場合、以下を実行するプログラムまたは関数を作成します。 値を定義済みの1-2-3-Tribonacciの数値表現に変換します。 このバイナリのような表現を使用し、それがバイナリであるかのように読み取ります。つまり、数字は同じままですが、意味は変わります。 この2進数を取得し、元の数値の基数に変換します。 この新しい番号を出力または返します。 ただし、出力が有効である限り、これらの手順に従う必要はありません。短い(および数学的に同等の)数式を魔法のように見つけた場合は、自由に使用してください。 例 関数をf定義で記述された関数とし、[](リトルエンディアンとして、それは重要ではありませんが)実行されたステップを表します(このプロセスに従う必要はありません、これは記述されたプロセスです): >>> f(1) …

2
氷の迷路を解く
氷の迷路は、ポケモンゴールドとシルバーでデビューして以来、ポケモンゲームの主なお気に入りの1つです。あなたの仕事は、これらのタイプの問題を解決するプログラムを作成することです。 名前が示すように、氷の迷路は主に氷で構成されています。プレイヤーが氷上である方向に移動すると、障害物と衝突するまでその方向に移動し続けます。自由に移動できる土壌もあり、プレイヤーが移動するのを止めます。最後の障害は石です。ストーンはプレイヤーと同じスペースを占有できず、プレイヤーがそこに移動しようとすると、移動する前に停止します。 リストのリストや改行で区切られた文字列など、3種類のフローリング(氷、土、石)ごとに3つの異なる値を含む、値の2次元コンテナを受け取ります。また、迷路内の開始座標と目標座標を示す2つのペア(または他の同等の2つの値コンテナー)を受け取ります。これらはゼロまたは1つのインデックスが付けられます。 実行時にプレイヤーが最後に到達するようにする動きのリスト(N、E、S、Wへの全単射で4つの異なる値)を出力する必要があります。 入力は常に迷路の周りに石の閉じた境界線を持っているので、プレイヤーが迷路を出るのを心配する必要はありません これはコードゴルフなので、最少バイトが勝ちます テストケース ここ.は氷~を表し、土壌Oを表し、石を表します。座標には1のインデックスが付けられます。ソリューションの各文字は、その文字で始まる方向を表します(例N=北) 入力 OOOOO OO.OO O...O OOOOO Start : 3,3 End : 3,2 出力 N 入力 OOOOOOOOOOOOOOOOO O........O.....OO O...O..........OO O.........O....OO O.O............OO OO.......O.....OO O.............OOO O......O.......~O O..O...........~O O.............OOO O.......O......OO O.....O...O....OO O..............OO OOOOOOOOOOOOOO~~O OOOOOOOOOOOOOOOOO Start : 15,12 End : 16,8 出力 N,W,N,E,N,E,S,W,N,W,S,E,S,E,N,E,N 入力 OOOOOOOOOOOOOOOO O~~~~~OOOOO~~~~O O~~O~OOOOOOO~~OO O...O..........O …

30
バイナリニブルでのカウント
この課題は、0から10までの数字を端末、ウィンドウ、キャンバスまたはスクリーンに出力することです。出力される各数値は4ビット幅のニブルとして表示される必要があるため、ゼロなどが表示さ0000れます。 出力される各番号は、スペース、カンマ、またはキャリッジリターンで区切ることができます。最小のソリューションが勝ちますが、シーケンスに繰り返し番号がない限り、好きな順序で番号を表示できます。 低レベルのバイナリ言語のエントリは、コンマまたは空白で出力することができない場合、コンマまたは空白の区切り文字について心配する必要はありません(つまり、標準出力がバイナリのみに制限されているか、ソリューションが初期のコンピュータキット用です)デジタルディスプレイが限られているKIM-1など)。

6
文字を数える-少しずつ!
単純な部分:印刷可能なASCII文字(スペース-チルダ)のみを含む入力文字列が与えられた場合、各文字の出現回数をカウントし、便利な形式で結果を返します。文字列の結果はa%hda7a次のようになりますa:3, %:1, h:1, 7:1, d:1。並べ替えは不要で、区切り文字と形式はオプションですが、どの数字がどの文字に対応するかを簡単に理解する必要があります。入力文字列にa:3, b:0, c:0, d:1, ...ない文字は使用しないでください(OKではありません)。 本当の課題: コード内のすべての文字を8ビットの2進数(UTF-16などを使用している場合は16ビット)に変換し、で始まるすべての文字を列挙し0ます。 すべての文字(i列挙子)に対して、i%7-bit 1 はでなければなりません1。ビットは右から番号が付けられています。他のすべてのビットは、何でも構いません。 次のコードを例として使用してみましょう。 [f]-xif)#f これをバイナリに変換すると、以下の配列が得られます。表す最初の番号は([持っている11がOKであるように、0番目の位置に。表す第2の数は(f持っている1ので、1がOKがあまりにもあることを、第1 'の位置に。このように続けて、あなたが表示されます上記のコードが有効であること。 C 76543210ビット番号 --------- ---------- [0101101 1 0-OK f 011001 1 0 1-OK ] 01011 1 01 2-OK -0010 1 101 3-OK x 011 1 1000 4-OK i 01 1 01001 5-OK f …

11
不正なサイクロン
概念 プログラミング言語でコードを出力するプログラムを作成します。そのコードは、実行時に元のプログラムを出力する必要があります。 ルール これは不正行為であるため、元のソースコードを読むことができます。 最初の出力プログラムは、元のプログラムと同じ言語である必要があります。 通常のクインを出力することはできません。2つのプログラムは異なっていなければなりません。 標準の抜け穴が適用されます。 これはコードゴルフなので、最短の回答が勝ちますが、選択されません。
19 code-golf  quine 

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