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

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

3
テトリスブロックのプログラミング(文字通り)
ゲームTetrisには、7種類のレンガまたはTetr i minoesがあり、それらはすべて4つの正方形セグメントで作られているため、数学的にtetr o minoesとして知られています。 これらの名前は、I、J、L、O、S、T、およびZという名前で、おおよその形状に対応しています。90°の回転をカウントすると、合計19個のユニークな形状があります。 I I I I IIII J J JJ JJJ J JJ J J J JJJ L L LL L LLL LL L L LLL L OO OO SS SS S SS S TTT T T TT T T TTT T TT T ZZ ZZ …

23
バイプレックス:重要な役に立たない演算子
入力 1から255までの正の整数(両端を含む)のリストで、それぞれ1から2 32-1(両端を含む)の範囲です。 入力形式は、テストケースと同じである必要はありません。 先行ゼロなしの入力を受け入れる必要があります。 先行ゼロを含む入力を受け入れる必要はありません。 整数の間に任意の区切り文字を使用できます。 整数は文字列で表すことができますが、特定の整数の個々の数字は連続している必要があります。 出力がそのベースにもある場合は、入力に任意のベース(バイナリおよび単項を含む)を使用することを選択できます。 出力 単一の整数。 出力には先行ゼロがない必要があります。 出力は入力と同じベースになければなりません。 出力は任意の方法で計算できますが、次の計算の結果と一致する必要があります。 バイプレックスの計算 バイナリ表現のビットは、ゼロから始まる右から番号が付けられているため、ビットiは2 iを表す列にあります。 I 番目 bitsumの合計であるI 番目の入力番号のそれぞれのバイナリ表現のビットです。 bitsum最大値は bitsumsで撮影した最高値です。 bitsum最小値は最小である非ゼロ bitsumsによって撮影された値。 出力のバイナリ表現のi 番目の桁は次のとおりです。 i 番目のビットサムが最大ビットサムまたは最小ビットサムに等しい場合は1 。 それ以外の場合は0。 実施例 この例では、入力と出力にバイナリを使用しています。 Input: 100110 1101110 1100101 _______ Bitsums: 2301321 Output: 101101 ビットサムの最大値は3、ビットサムの最小値は1であるため、ビットサムが3または1の場合はすべて出力に1が、その他の場合は0が出力されます。 テストケース テストケースの形式は次のとおりです。 Input => Output バイナリのテストケース: [1] …

22
XOR乗算
目標は、以下で定義するXOR(キャリーレス)乗算の操作を可能な限り少ないバイトで実装することです。 ビット単位のXOR(^)をキャリーなしのバイナリ加算と考える場合 101 5 ^ 1001 9 ---- 1100 12 5^9=12 @バイナリの長い乗算を行うことでXOR乗算を実行できますが、ビット単位のXORとして実行せずに加算ステップを実行し^ます。 1110 14 @ 1101 13 ----- 1110 0 1110 ^ 1110 ------ 1000110 70 14@13=70 (数学者にとって、これは多項式環F_2[x]での乗算であり、x=2Z上の多項式としてat を評価することにより自然数で多項式を識別します。) XOR乗算はa@b=b@a、(a@b)@c=a@(b@c)ビット単位のXORで交換、関連付け、および分散しa@(b^c)=(a@b)^(a@c)ます。実際には、乗算と一致したユニークな操作でa@b=a*bいつでもaとbの力ある2ように1,2,4,8...。 必要条件 入力および出力として2つの非負整数を取るか、XOR積を出力します。これは、バイナリ展開ではなく、数値または10進数の文字列表現でなければなりません。最少バイトが勝ちます。 整数オーバーフローについて心配する必要はありません。 以下にフォーマットされたいくつかのテストケースを示しa b a@bます。 0 1 0 1 2 2 9 0 0 6 1 6 3 3 …

10
マインスイーパボードを確認する
目標は、完成した掃海艇ボードが有効かどうかを確認することです。これは、各数値が、対角線を含む隣接するセル内の地雷の正しいカウントであることを意味します。ボードはラップアラウンドしません。 通常どおり、関数またはプログラムを指定する必要があり、バイト単位の最短コードが優先されます。 マインスイーパを生成、解決、および完全に実装するための過去の課題も参照してください。 入力: このような単一の文字列:02X2 13X2 X211。 マインスイーパボードの行は、スペースで区切って指定します。したがって、上記は3x4ボードを表します。 02X2 13X2 X211 :各セルは文字であるX鉱山のために、または数0による8。 すべての行の長さは同じです。 少なくとも3行3列です。 入力はスペースで開始または終了しませんが、必要に応じて改行を最後に含めることができます。 出力: 一貫Truthy正しいボード上、および一貫性のFalseyの間違ったボード上の値。一貫性とは、すべてのTruthy出力が同じで、すべてのFalsey出力が同じであることを意味します。 テストケース 各行は個別のテストケースです。 True: 02X2 13X2 X211 XXXX XXXX XXXX XXXX XX4X2 5X6X4 XX6XX 4XX54 2X4XX False: 02X2 13X2 X212 XXXX XXXX X7XX XXXX XX5X2 5X6X4 XX6XX 4XX54 2X5XX

6
グリッドベースのデジタルロジック(デュオディアディックタイル)
Duodyadicタイルは、2つの入力(1つは上面から、もう1つは左側から)、2つの出力(1つは右側に、もう1つは下面)を備えた正方形の機能ブロックです。それぞれの出力は、両方の入力の個別の関数です。 たとえば、#一般的なタイルを表し、右の出力がR機能でf入力のTとL、下の出力はB別の関数であるgのTとL: T L#R R = f(T, L) B B = g(T, L) (2つの関数があるため、タイルは「du​​o」と呼ばれ、両方の関数には2つの引数があるため「dyadic」と呼ばれます。) タイルは、グリッド上で一緒に構成することができ、1つのタイルの出力は、隣接するタイルの入力に直接入ります。ここで、例えば、左の右の出力は右#の左の入力に入ります#: AB D = f(f(A, C), B) C##D E = g(A, C) EF F = g(f(A, C), B) それぞれが特定の機能を備えたデュオディアックタイルのセットがあれば、複雑な(潜在的に有用な)コンポジションを作成できると想像できます。 この課題では、すべての入力と出力が1ビットのバイナリ数(ゼロまたは1)である、10個のロジックベースのデュオディアディックタイルの従来のセットのみを考慮します。タイルの各タイプを示すために、個別のASCII文字を使用します。 タイル文字とそれらの入出力関係は次のとおりです (T上入力L用、左入力R用、右出力B用、下出力用)。 ゼロ:0または(スペース)→ R = 0、B = 0 1つ:1→ R = 1、B = 1 クロス:+→ R …

14
新年のモールス
これがウィークリーチャレンジ#1です。テーマ:オーディオ処理 あなたの仕事は含まれています(お好みの形式で)ディスクにオーディオファイル、書き込むプログラム、書くことですモールスコードのために2015、すなわち、 ..--- ----- .---- ..... 単一周波数の正弦波、和音、ノイズ、一部の楽器(MIDIファイルを使用するなど)など、可聴である限り、セグメントに任意の種類のサウンドを自由に選択できます。ただし、タイミングにはいくつかの制約があります。 短いセグメントの長さは少なくとも0.2秒である必要があります。 長いセグメントは、短いセグメントの少なくとも3倍の長さである必要があります。 数字内のセグメント間の区切りは、短いセグメントと同じ長さでなければなりません。 数字間の区切りは、長いセグメントと同じ長さでなければなりません。 各セグメントとブレークは、そのタイプのセグメント/ブレークの平均長から最大10%逸脱する可能性があります。 オーディオファイル全体が30秒を超えないようにしてください。 休憩は完全に無音である必要はありませんが、モールス信号音は休憩よりも大きな音量である必要があります。 オーディオファイルを作成する必要があることに注意してください。システムビープ音などを使用して、サウンドを再生することはできません。任意の種類のライブラリを使用してファイル形式とオーディオ生成を処理できますが、モールス符号化に組み込み機能を使用しないでください。 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。 結果のオーディオファイル(SoundCloudなど)のアップロードへのリンクを検討してください。そうすれば、コードを実行しなくても結果を確認できます。SoundCloudにアップロードする場合は、トラックの[権限]タブでダウンロードを有効にしてください。 出力で一般的でないファイル形式を使用している場合は、再生方法やより一般的な形式に変換してアップロードする方法に関する情報を追加してください。 トラックの例 これは、仕様に準拠し、モールスセグメントにノイズ(正確にはマイクのバックグラウンドノイズ)を使用する、手動で生成されたサンプルトラックです。埋め込みプレーヤーが機能しない場合のSoundCloudへのリンクは次のとおりです。 バウンティの詳細 オーディオプログラミング言語、つまり音声を合成するように設計された言語での最短の提出に対する賞金を授与します。そのリストは完全ではありませんので、ご存じの場合は別のオーディオプログラミング言語を自由に使用してください。使用したい言語がオーディオプログラミング言語として分類されるかどうかわからない場合は、コメントまたはチャットでお知らせください。それについて話し合うことができます。 提出物はすべてのルールに準拠する必要があることに注意してください。特に、すべてのオーディオプログラミング言語では不可能なファイルを書き込む必要があります。たとえば、私が知る限り、gibberはサウンドを再生することしかできず、ファイルに保存することはできません。

20
ポリキンを書く
ポリキンは、クインとポリグロットの両方です。1少なくとも2つの異なる言語で有効なクインを書きます。これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。 1それを作りました。むしろ、ジオビットはそうしました。どうやら、彼も最初のものではなかったようです。 クインのルール 真のクインのみが受け入れられます。つまり、あなたは、STDOUTに逐語的に全体のソースコードを印刷する必要がなくて: ソースコードを直接または間接的に読み取る。 REPL環境に依存します。REPL環境は、フィードするすべての式を単に評価および出力するだけです。 特定の場合にソースを出力するだけの言語機能に依存しています。 エラーメッセージまたはSTDERRを使用して、クインのすべてまたは一部を書き込みます。(STDOUTが有効なクインであり、エラーメッセージがその一部でない限り、STDERRに書き込むか、警告/致命的でないエラーを生成できます。) さらに、コードには文字列リテラルが含まれている必要があります。 ポリグロットのルール 使用される2つの言語は明確に異なる必要があります。特に: 同じ言語の異なるバージョンであってはなりません(Python 2とPython 3など)。 それらは同じ言語の異なる方言であってはなりません(例:PascalとDelphi)。 1つの言語は、他の言語のサブセットではない場合があります(例:CとC ++)。

6
電話キーパッドの最適化
DvorakやNeoのような新しいキーボードレイアウトを退屈に学んでいる人々に対するこの継続的な流行は、生産性を高めていると思われるためです。キーボードレイアウトを切り替えるのは悪い考えだと思います。スピードを上げるのに数か月かかることがあり、他のコンピューターよりも最終的に5%速くなったときに、コンピューターで入力する必要がある場合はめちゃくちゃになります自分ではない。 また、これらすべての人々は、現代のコミュニケーションの本当のボトルネックがどこにあるのか、電話のキーパッドを忘れています。 これは、平均的な電話キーパッドの外観です。 文字「r」はボタン7の3番目の文字です。したがって、携帯電話で文字「r」を入力する場合、ボタン7を3回押し、「s」の場合は4回押し、「a」の場合はボタン2を1回押します。 これを考慮すると、「d」の後に「e」を付けるのはおそらく悪い決定でした-「e」は英語のアルファベットで最も一般的に使用される文字です。したがって、「DEF」の代わりにボタン3「EDF」にラベルを付けると、キーストロークをかなり節約できます。 さらに、同じボタンを共有する2文字を入力するのは面倒であることに気付いたでしょう。「TU」を書きたい場合、「V」になるので8を3回押すだけではいけません。したがって、通常は「T」と入力し、スペースを押してからバックスペースを押し、「U」と入力します。これは、3回ではなく5回のボタンを押す操作に相当します。 TL; DR 次の2つのルールがある場合: ボタンをn回押すと、文字が入力されます。nは、ボタンのラベル上の文字の位置です。 同じボタンを使用して入力される2つの文字を書くには、追加の2ボタンを押す必要があります 特定のテキストが与えられた場合、ボタンを押す必要が最も少ない電話キーボードレイアウトは何ですか?ボタン2〜9のみを使用する必要があり、1と0は特別なシンボル用に予約されています。 入力 最適なレイアウトを見つける必要があるテキストは、stdinを介して提供されます。小文字のアルファベット以外のものを処理する必要はなく、入力がそれだけで構成されていると想定できます。また、入力テキストが適度に大きく、すべての文字が少なくとも一度はそこにあると想定できます(それが役立つ場合)。 出力 出力にあまり多くの制約を付けたくありません。これは、一部の言語が他の言語よりも有利になる場合があるためです。ただし、言語で配列が適切であると示されている場合は、各ラベルを改行で区切ることもできます。 最適なレイアウトは複数存在する可能性があり、それらのいずれかを印刷できます。以下に簡単な例を示します。 >> echo "jackdawslovemybigsphinxofquartz" | foo.sh ojpt avhz cen skm dyf wbq ixu lgr ボーナスポイント -35アルゴリズムがすべての可能なレイアウトを強引に強制していない場合(ここではHaskellの「順列」を調べています) -3コードがテキストメッセージ(140文字)に収まり、コードを友人に送信する写真を投稿した場合。 これはStackExchangeでの最初の課題です。私はあなたがそれを好むかどうか、またはそれについて他のフィードバックがあるかどうか聞いてうれしいです!
33 code-golf 

15
キューブ上のアリ
アリは、ワイヤフレームキューブのエッジ(面ではなく)に沿って歩きます。遭遇する各頂点は、2つの新しいエッジが分岐するフォークを提示します。アリはどちらの方向に曲がるleftかを選択します- またはright。これらの方向は、頂点に向かい、立方体の外側にいるアリに相対的です。あなたの目標は、アリがとったleft/ right選択のシーケンスから、それが開始したのと同じ位置で終了するかどうかを判断することです。 たとえば、アリが4回左に曲がった場合(left left left left)、反時計回りに四角を横切り、開始した場所で終了します。しかし、それが進むleft left left left rightと、キューブ上の別の場所で終了します。また、それが進む場合left right right right left、開始エッジで終了しますが、反対側の頂点に面しますが、同じ位置としてカウントされません。 アリのパスは、開始したエッジを含むエッジを繰り返す場合がありますが、重要なのは、シーケンス全体の後に終了する場所です。 アリのターンシーケンスを受け取り、アリがシーケンスの後に開始位置に戻ったかどうかを出力する名前付き関数を作成します。名前のない関数を変数に割り当てるだけで、名前の付いた関数にできます。 編集変数。) 入力 選択した形式で表される、長さを含む一連のleft/ right決定。これは、文字の文字列/ 、数字のリスト/ 、またはブール値の配列です。コードに役立つメソッド名や文字列にすることなど、安っぽいものはありません。031RL1-1 以下のテストケースと異なる場合は、テストケースを形式で投稿してください。 出力 True/ False、0/ 1、またはあなたの言語の類似物。 受賞基準 最少バイトが勝ちます。名前付き関数を指定する必要があることを忘れないでください。関数の外にコードを置くこともできますが、それらのバイトもカウントされます。複数回呼び出された場合、関数は正しく動作するはずです。 テストケース True ケース(1行に1つ、2つ目は空のリスト): 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 …
33 code-golf 

22
文の内側のラマを引き出す
あなたの目的は Pie is good. I just ate a bunch of pies early this morning. Actually, it was closer to the afternoon. Mornings are good. そして、「Llama」という単語を構成する文字が現れる文字列のインデックスの配列を作成します(それぞれ順番に1つ)。たとえば、インデックスを表示するために、キャレットで示された文字を表示します。 Pie is good. I just ate a bunch of pies early this morning. Actually, it was closer to the afternoon. Mornings are good. ^ ^ …
33 code-golf 

17
Stackoverflowの賞金はいくらですか?
仕事: あなたは素晴らしいプログラマーであり、Stackoverflow-answererであり、Stackoverflowの恩恵ですべての質問に答えることにします。あなたは非常に優れているので、すべての質問ですべての賞金を得ることができます。担当者があふれるのを待つ間、プログラムを作成して、すべての報奨金の担当者の合計額を調べます。 ルール: 実行すると、 プログラムは、スタックオーバーフローの機能タブをナビゲートします。 各賞金の価値を削り出し、 次に、合計して合計を表示します SO(およびSOのみ)のどこからでもデータをダウンロードする必要がありますが、約10ページしかないため、https://stackoverflow.com/questions?pagesize=50&sort=featuredを使用することをお勧めします これはcode-golfなので、最短のコードが優先されます
33 code-golf 

7
アンチエイリアスASCIIアート
バックグラウンド ASCIIアートとは、ASCIIテキストを使用して形状を形成することにより画像を作成する方法です。 エイリアシングは、文字のサイズであるASCIIアートの大きな「ピクセル」によって作成される効果です。画像はブロック状になり、見にくくなります。アンチエイリアスは、グラデーションを作成し、ASCIIアートのハードエッジを柔らかくすることにより、この効果を取り除きます。 チャレンジ あなたの挑戦は、ASCIIアートの一部を取り、アンチエイリアスされたバージョンを出力する、可能な限り短いプログラムを書くことです。 どのようなアンチエイリアシングですか? ASCIIアートはすべて、スペースと非空白の2種類のシンボルで構成されます。空白文字以外の文字ごとに、プログラムは、アンチエイリアス処理が必要な位置にあるかどうかを判断する必要があります。正しい場合は、正しい文字に置き換える必要があります。そうでない場合、キャラクターは同じままです。 キャラクターにアンチエイリアスをかける必要があるかどうか、どのようにしてわかりますか?答えは、キャラクターのすぐ上、下、左、右にあるキャラクターに依存します(対角線ではありません)。ここでアンチエイリアシングが、必要とされるときのチャートである?とx任意の非空白文字を表すことができますが。 x? -> d? ? ? ?x -> ?b ? ? ? ? ?x -> ?F ? ? x? -> Y? x -> ; Note: This character has been changed from _ to ; ? ? ? ? x -> V ?x -> …

9
あのポケモンは誰?
入力:1〜151の整数N 出力:N番目のポケモン。 ルール 1つのデータファイルを使用できます。 既に作成されたデータ圧縮解除アルゴリズムは使用できません。これには、ライブラリおよびその他のプログラムが含まれます。 あなたのプログラムはそれ自身とあなたのデータファイル以外のファイルにアクセスできないかもしれません。 得点 スコアは、コードとデータファイルの長さの合計です。 役に立つもの データファイルの生成に役立つセミコロンで区切られた最初の151個のポケモンのリストを次に示します。出力は、この行のN番目のエントリと正確に一致する必要があります。 Bulbasaur;Ivysaur;Venusaur;Charmander;Charmeleon;Charizard;Squirtle;Wartortle;Blastoise;Caterpie;Metapod;Butterfree;Weedle;Kakuna;Beedrill;Pidgey;Pidgeotto;Pidgeot;Rattata;Raticate;Spearow;Fearow;Ekans;Arbok;Pikachu;Raichu;Sandshrew;Sandslash;Nidoran (f);Nidorina;Nidoqueen;Nidoran (m);Nidorino;Nidoking;Clefairy;Clefable;Vulpix;Ninetales;Jigglypuff;Wigglytuff;Zubat;Golbat;Oddish;Gloom;Vileplume;Paras;Parasect;Venonat;Venomoth;Diglett;Dugtrio;Meowth;Persian;Psyduck;Golduck;Mankey;Primeape;Growlith;Arcanine;Poliwag;Poliwhirl;Poliwrath;Abra;Kadabra;Alakazam;Machop;Machoke;Machamp;Bellsprout;Weepinbell;Victreebell;Tentacool;Tentacruel;Geodude;Graveler;Golem;Ponyta;Rapidash;Slowpoke;Slowbro;Magnemite;Magneton;Farfetch'd;Doduo;Dodrio;Seel;Dewgong;Grimer;Muk;Shellder;Cloyster;Gastly;Haunter;Gengar;Onix;Drowsee;Hypno;Krabby;Kingler;Voltorb;Electrode;Exeggute;Exeggutor;Cubone;Marowak;Hitmonlee;Hitmonchan;Lickitung;Koffing;Weezing;Rhyhorn;Rhydon;Chansey;Tangela;Kangaskhan;Horsea;Seadra;Goldeen;Seaking;Staryu;Starmie;Mr. Mime;Scyther;Jynx;Electabuzz;Magmar;Pinsir;Tauros;Magikarp;Gyarados;Lapras;Ditto;Eevee;Vaporeon;Jolteon;Flareon;Porygon;Omanyte;Omastar;Kabuto;Kabutops;Aerodactyl;Snorlax;Articuno;Zapdos;Moltres;Dratini;Dragonair;Dragonite;Mewtwo;Mew

30
クリスマスですか?
チャレンジ クリスマスが次の場合: 12月 月12 25日目 毎年、今日の日付と、今日がクリスマスかどうかを判断します。クリスマスの場合は、印刷する必要があります"It's Christmas"。クリスマスではない場合は、クリスマスまで何とかしてから印刷する必要があります"It's Christmas"。 例 このスタックオーバーフローの質問 import time while time.strftime("%b, %d", time.localtime()) != "Dec, 25": time.sleep(60) print "It's Christmas" 115文字のPython ルール ルールは次のとおりです。 コンピューターの時計が常に正しいと仮定します。 コードはいつでも開始できる必要があります。 コードは"It's Christmas"クリスマスに印刷する必要があります。 ループは確かに必要ではありませんが、一度コードが開始されると、コードが出力されるまで停止しないでください。 最短のコードが優先されます。
33 code-golf  date 

30
これはn話ですか?
に触発されていますか?、私はより難しい挑戦を考案しました。文字列の場合、文字列を考えると、決定のn-話すいずれかのために、N ≥ 2n≥2n\geq 2。 N-speakは、各文字をnnn回繰り返すことで定義されます。でn = 4n=4n = 4、文字列がHelloに変換されますHHHHeeeelllllllloooo。あなたの目標は、入力がnピーク変換の有効な出力であるかどうかを把握することです。 n = 2 kn=2kn = 2k場合に有効なn話である文はすべて、k話でも有効であることに注意してください。したがって、解くのが難しい部分はnnn奇数値になります。 入力 少なくとも2文字で構成される文字列。入力には文字のリストも使用できます。入力では大文字と小文字が区別されます。 出力 Truthy文字列がn-speakのfalsey場合、そうでない場合。 例 真のケース HHeelllloo,, wwoorrlldd!! TTTrrriiipppllleee ssspppeeeaaakkk QQQQuuuuaaaaddddrrrruuuupppplllleeee ssssppppeeeeaaaakkkk 7777777-------ssssssspppppppeeeeeeeaaaaaaakkkkkkk 999999999 aaaabb aaaaaaaabbbbcc aaaaabbbbb @@@ 追加の真実ケースを生成する場合は、このMathGolfスクリプトを使用できます。文字列を引用符で囲み、入力としてnnnの値を配置します。 偽例 Hello, world! TTTrrriiipppllleee speak aaaaaaaaaaaaaaaab Ddoouubbllee ssppeeaakk aabbab aaaabbb a (does not need to be …

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