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

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

4
ネザーポータルの検出
ビデオゲームMinecraftは、仮想世界を構成する3D 整数ラティスにさまざまな種類のブロックを配置および削除することをすべて目的としています。各格子点には、ブロックを1つだけ含めるか、空にすることができます(公式には「空気」ブロック)。この課題では、3Dワールドの1つの垂直2Dプレーンと、1つのタイプのブロック(黒曜石)のみを考慮します。 黒曜石が垂直面で空の長方形の輪郭を形成するとき、ネザーポータルを作成できます。空の長方形は、幅2単位×高さ3単位から幅22単位×高さ22単位までの任意のサイズです。長方形の角は黒曜石で縁取られる必要はなく、側面のみである必要があります。 たとえば、X黒曜石で.空であると仮定します(数字は単に識別のためであり、空でもあります)。 ................................... ..XXXX....XXXX....XXXXXXXXX........ ..X..X...X....X..X.........X..XXXX. ..X.1X...X.2..X..X...3...X.X..X.... ..X..X...X....XXXX.........X..X.6X. ..XXXX....XXXX...XXXXXXXXXXX..X..X. .............X.4.X....X.5.X...XXXX. .............X...X....X...X........ ..............XXX......XXX......... ................................... このグリッドには、3つの有効なポータルが含まれています。 ポータル1は2 x 3ユニットで、完全に空で、黒曜石で囲まれています。したがって、それは有効です。 ポータル2は4 x 3で、完全に空で、黒曜石で囲まれています。したがって、それは有効です。 ポータル3は完全に空ではありません。したがって、それは無効です。 ポータル4は3 x 3で、完全に空で、黒曜石で囲まれています。したがって、それは有効です。 ポータル5は3 x 2ユニットで、小さすぎます。したがって、それは無効です。 ポータル6には境界線の一部がありません。したがって、それは無効です。 チャレンジ 黒曜石と空のグリッドのこれらの文字列表現を取り込んで、存在する有効なネザーポータルの数を出力するプログラムまたは関数を作成します。 入力は、stdin、ファイル、または関数の引数から取得できます。 、テキストのすなわち完全な矩形グリッドを少なくとも1ワイド文字と背の高い、のみ含む-あなたは、入力が常にうまく形成されていると仮定するXと.。オプションで、最後の行の後に末尾の改行があると仮定できます。 必要であれば、あなたは、任意の2つの異なる使用することができ、印刷可能なASCII文字の代わりに文字をXして.。 黒曜石はグリッドの境界上にある可能性があります。境界を超えるものはすべて空と見なされます。 入力例-出力は次のようになります4。 ................................................................ ...................................XXXXXXXXXXXXXXXXXXXXXXXXX.... ..XXXX....XXXX....XXXXXXXXX........X.......................X.... ..X..X...X....X..X.........X..XXXX.X.......................X.... ..X..X...X....X..X.......X.X..X....X.......................X.... ..X..X...X....XXXX.........X..X..X..XXXXXXXXXXXXXXXXXXXXXXXX.... ..XXXX....XXXX...XXXXXXXXXXX..X..X.X......................X..XXX .............X...X....X...X...XXXX.X......................X..X.. .............X...X....X...X........X......................X..X.. ..............XXX......XXX........XXXXXXXXXXXXXXXXXXXXXXXX...X.. ..................................XX.........................XXX 得点 最少バイトの送信が勝ちです。
53 code-golf 

30
ユーザー感謝の課題#1:デニス♦
私は、PPCGコミュニティがすべての人にとって、あるいは多分私だけのために楽しい場所になるのを助け、これからも助けてくれるユーザーの一連の挑戦をするという自発的なアイデアを得ました。:P Dennisの名前を1sと0sの配列に変換すると、各子音がで1あり、各母音がである0場合、配列は[1, 0, 1, 1, 0, 1]であり、対称です。したがって、あなたの課題は、このような他の名前が何かを判断することです。 チャレンジ ASCII文字列を指定して、文字以外のすべての文字を削除し、母音と子音の構成が対称かどうかを判断します。y母音ではありません。 プログラムはこのタイプの文字列である必要はありません。 テストケース Dennis -> truthy Martin -> truthy Martin Ender -> truthy Alex -> falsy Alex A. -> truthy Doorknob -> falsy Mego -> falsy 参照実装 このPython 3コードは、テストケースが与えられると正しい出力を提供します。それはばかげていることなくそれを作ることができたのと同じくらい無制限です。 Python 3 s = input() l = [] for c in s: if …

30
六角形にしてください。
今日は、ASCII六角形を作成します。正の整数nを取り、アスタリスクで構成されるサイズnの六角形グリッドを出力するプログラムまたは関数を作成する必要があります。たとえば、サイズ2の六角形は次のようになります。 * * * * * * * サイズ3の六角形は次のようになります。 * * * * * * * * * * * * * * * * * * * あなたは、任意の使用することができ、デフォルトの入力および出力のメソッドをファイルの書き込み/、たとえばSTDIO / STDOUTのために、関数の引数と戻り値や読書を。 入力は常に有効であると仮定することができます。そのため、正の整数でない場合、プログラムは必要な処理を実行できます。ただし、サイズ1の六角形の特殊なケースを処理する必要があります。これはたまたま単一のアスタリスクです。 * 出力が視覚的に同じである限り、先頭と末尾の空白は許可されます。 例: 1: * 2: * * * * * * * 3: * * * * …

30
寒すぎる、温度を上げる
これは私の最初のゴルフコンテストです。 するべきこと 可能な限り短いバイトで、ACリモートコントロールシステムを構築してください。私の部屋は今あまりにも寒く、リモコンがありません。 今、私はあなたが文字通りそれまたは何かを構築することを望まない、ただこれをゴルフする: 温度の緩やかな増分。40度から始まり、正確に72度で終わります。増分時間は、増分ごとに常に500ミリ秒でなければなりません。最後にさらに500ms待つことができます。ただし、停止することをお勧めします。私のリモコンのように、増分自体は毎回2ずつ増加する必要があります。 画面をクリアしないでください。改行が必要です。 何が起こるか 出力例(括弧内のすべてを出力すべきではありません)。 40 (wait 500 millis) 42 (wait 500 millis) 44 (..repeat until 72..) 72 (stop or wait 500ms) 覚えておいてください これは私の最初のゴルフですので、これがゴルフに難しすぎるなら、私は謝罪します。:( 幸運を祈ります、ゴルファー!

9
シンプルな2048ゲームクローンを作成する
2048は非常に楽しくて中毒性のあるゲームで、目標は2048のタイルを作成することです。 ゲームの簡単な説明は次のとおりです。 矢印キーを押すと、ステージ内のすべてのブロックがその方向にスライドします。たとえばx、ブロックを表す場合、この場合は上矢印を押しました。 ...x .x.. ..x. xx.. するとボードは xxxx .x.. .... .... さらに、ブロックには、から始まる番号が付けられ2ます。同じ番号のブロックのうち2つを一緒に移動すると、次の番号にマージされます。たとえば、このボードで「上」を押すと: .2.. ..22 .2.. .... これを作成します: .422 .... .... .... そして、「右」を押すとになり..44、したがって再び右を押すと「8」ブロックが作成されます。 ターンごとに、新しい「2」ブロックがランダムなオープンスクエアに作成されます。(実際には常に「2」ではありませんが、簡単にするためにそれを維持しましょう。)可能な動きが残っていない場合(つまり、ボードがいっぱいで何もマージできない場合)、ゲームは失われ、 2048ブロックが作成され、勝ちます! あなたの課題は、このゲームをゴルフで再現することです! このボードで「右」を押すなどのエッジケースの場合: .... .222 .... .... 押した矢印キーの端に最も近いタイルを結合する必要があります。たとえば..24、2番目と3番目の「2」が右端に最も近いため、これはになります。 プレーヤーが無効な動き(のようなボードで「上」など)を押した場合、2.2. / .... / .... / ....その動きを無視する必要があります。 移動は、クリック、矢印キーなど、あらゆる方法で受け入れることができますULRD。 タイルはすべて同じ形状である必要があります。「1024」タイルは「2」タイルと同じサイズでなければなりません。 タイルは何らかの方法で分離する必要があります。たとえば|1024| 2|1024|1024|、行の有効な例です(タイルが正方形であると仮定)、そうで1024 210241024はありません。 プレイヤーが2048タイルを作成する場合は「勝ちます」、有効な動きが残っていない場合は「失う」を出力する必要があります。 これはcode-golfなので、バイト単位の最短コードが勝ちます!

30
ナルシシズムの数をテストする
A ナルシシスト数は、独自の数字の和である数は、それぞれの桁数の累乗です。 たとえば、153(3桁)を使用します。 1 3 + 5 3 + 3 3 = 1 + 125 + 27 = 153 1634: 1 4 + 6 4 + 3 4 + 4 4 = 1 + 1296 + 81 + 256 = 1634 挑戦: コードはユーザーからの入力を受け取り、指定された番号がナルシスティックな番号であるかどうかに応じてTrueまたはFalseを出力する必要があります。 テキスト文字列またはその他の無効な入力のエラーチェックは不要です。出力には1または0を使用できます。ナルシスティックな数字のリストを単に生成するコード、またはリストに対してユーザー入力をチェックするコードは、資格がありません。 OEIS A005188

30
ゴルフできますか?
ランダムな18ホールのゴルフコースを生成する必要があります。 出力例: [3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4] ルール: プログラムは、正確に18ホールのホール長のリストを出力する必要があります 各穴の長さは3、4、または5でなければなりません コース全体で穴の長さは最大72になる必要があります プログラムは、ゼロ以外の確率ですべての可能なホール構成を生成できる必要があります(各構成の確率は同じである必要はありませんが、その場合は追加の称賛を要求してください)

21
1P5:ネストされたボックス
このタスクは、最初の定期的なプレミアプログラミングパズルプッシュの一部です。 次の形式でアイテムの階層を取得します。 2 Hat 1 Gloves 次のようにボックスに入れる必要があります: .------------. | Hat | | .--------. | | | Gloves | | | '--------' | '------------' 入力形式では、数字は指定された数のアイテムでボックスを開始します。最初のボックスには2つのアイテム(帽子とグローブが入ったボックス)があり、2番目のボックスには1つのアイテム(グローブ)しか入っていません。 ご覧のように、ボックスもボックス内に配置できます。そして、それらは常に丸みを帯びています...ある種(とがった角は傷の危険であり、私たちはそれを望まないでしょう)。 以下に、仕様が提供するあらゆる小さな余地を活用したい人のための厄介な詳細があります。仕様を読んでいないことは、間違った解決策を提出する言い訳にはなりません。最後にテストスクリプトといくつかのテストケースがあります。 仕様 ボックスは、次の文字で構成されています。 | (U + 007C)は、垂直エッジを構成するために使用されます。 - (U + 002D)は、水平エッジを構成するために使用されます。 ' (U + 0027)は丸い下隅です。 . (U + 002E)は丸い上部の角です。 したがって、ボックスは次のようになります。 .--. | | '--' Unicodeには丸い角と適切なボックス描画文字もありますが、このタスクはASCIIのみであることに注意してください。ユニコードが大好きなのと同様に、過去10年から10年ではまったく到達しなかった言語や環境が存在することを認識しています。 …

30
BIBABOBUデコーダーをゴルフしましょう
将来旅行中に、2275年頃の子供たちの間で面白いゲームに気づきました。彼らは、偉大な偉大な偉大な両親に彼らが言っていることを理解させたくないとき、BIBABOBUを使用します。明らかに、私はサイボーグ以前の頭脳でも何も理解できず、本当に愚かだと感じました(または技術的には感じるでしょう)。そのため、次回の訪問にはデコーダーが必要です。 ビバボブ? 長い間廃止されていますが、ASCIIは2275のポップカルチャーで一般的に使用されており、この言語はASCIIに基づいています。 文字列は、BIBABOBUでそのようにエンコードされます。 すべての文字をASCIIコードに変換します。 各コードの2桁の16進数表現を取得し、次の表を使用して変換します。 0: BI 4: BIDI 8: BADI C: BODI 1: BA 5: BIDA 9: BADA D: BODA 2: BO 6: BIDO A: BADO E: BODO 3: BU 7: BIDU B: BADU F: BODU 例 "Hello!" → 48 65 6C 6C 6F 21 → "BIDIBADI BIDOBIDA …

30
OSは32ビットですか、64ビットですか?
もう重要ではありませんが、時には誰かが知る必要があります。 ここに簡単なゴルフがあります。ユーザーの入力なしで、コードが実行されているコンピューターが64ビットオペレーティングシステムであるか、32ビットオペレーティングシステムであるかを教えてください。 コードが32ビットオペレーティングシステムで実行されている場合は「32」を出力し、コードが64ビットオペレーティングシステムで実行されている場合は「64」を出力します。重要: 32ビットでも64ビットでもない場合、他の空でない英数字の文字列を印刷します。 64ビットオペレーティングシステムを搭載したコンピューターで実行されている32ビットプログラムは、「64」を出力する必要があります。ユーザーは可能な限り64ビットソフトウェアを使用すると想定できます。 エントリーの資格を得るには、コードがWindows 4.10以降の MicrosoftがサポートするWindowsシステム、および選択した少なくとも1つのLinuxフレーバー(そのフレーバーが無償である限り)で実行できる必要があります。プログラムが正しい値を返す限り、互換性modをインストールできます。 通常のコードゴルフ規則が適用されます。 注:あなたの答えが32または64だけを印刷することを意図しており、altケースではない場合、私はそれを受け入れますが、競合する答えではありません。 これらのコードを異なるOSで実行した結果を後で投稿してみます!

15
無味およびその他のバグ
標準のAndroid電卓アプリの一部のバージョンでは、「sin」などのキーを押してから「del」キーを押して「si」にすることができます。おそらく、削除するのが面倒なバグです。 次の文字/文字のグループ化が入力可能です: 罪 si s cos 共同 c 日焼け た t ln l ログ ロ e したがって、ta-stelessのために「tasteless」を入力できます。「c-log-s」のために「clogs」も入力可能です。ただし、「got」は入力可能ではなく、「an」または「xyz」でもありません。 単一の単語(または文字のシーケンス、入力ではazのみ)を入力として受け取り、単語が入力可能かどうかを示す出力を生成するプログラムを作成します。 出力は、単一の文字/文字/数字などです。または、より大きくなる場合があります。入力可能な単語はすべて同じ出力を生成する必要があります。入力不可能な単語もすべて同じ出力を生成する必要があります。 PS好奇心だけで、「無味」は辞書に載っている最も長い辞書の単語ですか?

30
禁止されているビルトイン
では、標準の抜け穴、以下をさ禁じ: 答えが「MyOwnLanguage」で書かれていると主張する場合、コマンドxは「一連の数字を読み取り、3つのグループに分割し、2番目の数字が最初の数字よりも小さいグループの最後の数字を出力する」ことを意味します ここでは、まったく同じことを行います。 仕事 長さが3で割り切れる正の整数のシーケンスが与えられた場合、それらを3つのグループに分割し、2番目の数値が最初の数値よりも小さいグループの最後の数値を出力します。 テストケース Input Output [] [] [1,2,3,4,5,6,7,8,9] [] [2,1,3,5,4,6,8,7,9] [3,6,9] [3,1,4,1,5,9,2,6,5] [4] [100,99,123] [123] [123,123,456] [] [456,123,789] [789] 得点 これはcode-golfです。バイト単位の最短回答が優先されます。 標準の抜け穴が適用されるため、xこのタスクを実行する組み込みコマンドを使用しないでください。

30
何ビットで収まるのか
正の32ビット整数(1 ≤ n ≤ 0xFFFFFFFF)出力の場合、その整数を表すのに必要なビット数。 テストケース | n | n in binary | bits needed | |----------------------------------| | 1 | 1 | 1 | | 2 | 10 | 2 | | 3 | 11 | 2 | | 4 | 100 | 3 | | 7 | 111 | …
52 code-golf  binary 

30
それはリポグラムですか?
リポグラムは、特定の記号を省略した単語のブロックです。現在、私は一般的に現れる26の5番目のシンボルを避けています。私が何を省略しているのか、今では知っているはずです。そうでない場合は、「リポグラム」を調べてください。 あなたのタスク 入力にchar、空白、およびそれに続く文字列(これに空白が表示される場合があります。ASCII32-126文字のみ)を使用すると、この文字が入力文字列に含まれる場合は出力が偽になります。探す必要のあるこの文字は、常に「A」から「Z」または「a」から「z」の2つの範囲に収まります(ASCII 65-90、97-122)。大文字と非大文字を区別しないでください。また、空白や句読記号について心配する必要はありません。プログラムと関数の両方が満足します。また、プログラムまたは関数の入力文字と文字列を2つの引数に分割できます。最初の引数としての文字列は問題ありません。 イラスト 真実の e This is a lipogram. a You need to consider other letters too. E Capitals also count. 偽物 e This sentence is not a lipogram (for e). t This particular letter is surprisingly hard. A You don't need to care about any non-alphabetic symbols. …

24
YなしでXを行う
通常、「YなしでXを実行する」ことは、初心者が課題を書くためのtrapになる可能性があると言われています(ソース)。しかし、私は生意気で、YなしでXを確実に作成できると思います。無作為に。ええ、これは良いでしょう。 課題:n 1以上の奇数の整数が与えられた場合、n「y」と「Y」以外のランダムに印刷可能なASCII文字で構成される辺の長さのex とスペースを出力します。すべての許可されたキャラクターは、ゼロ以外の確率で出現する必要がありますが、必ずしも均一ではありません。これはコードゴルフなので、バイト単位の最短コードが優先されます。ただし、各文字をランダム化する必要があります。つまり、偶然の場合を除き、exのストラットは等しくないはずです。 表示される文字 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~" exの構築 辺の長さ1: x 辺の長さ3: x x x x x 辺の長さ5: x x x x x x x x x 等 出力例 input output empty line 3 h 2 ^ 9 5 1 : 5 D 1 W z W q j W 1 実装例 …

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