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

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

30
文字列をデコードする
これは、ppcgに対する私の最初の挑戦です! 入力 2つの異なるASCII文字で構成される文字列。例えば ABAABBAAAAAABBAAABAABBAABA チャレンジ タスクは、これらの規則に従ってこの文字列をデコードすることです。 最初の2文字をスキップします 残りの文字列を8文字のグループに分割します 各グループで、各文字を0元の文字列の最初の文字と同じ場合は各文字に置き換え、そうでない場合は各文字を置き換え1ます 各グループは1バイトを表します。各グループをバイト文字コードから文字に変換します すべての文字を連結する 例 上記の文字列をデコードしましょう。 AB AABBAAAA AABBAAAB AABBAABA ^^ ^ ^ ^ | | | | | \---------|---------/ | | Skip Convert to binary これAが元の文字列の最初の文字でBあり、2番目の文字であることに注意してください。そのため、それぞれ置き換えるAと0、それぞれをBして1。今、私たちは取得します: 00110000 00110001 00110010 これは[0x30, 0x31, 0x32]バイナリです。これらの値は["0", "1", "2"]それぞれ文字を表すため、最終的な出力はである必要があります012。 得点 これはもちろんcode-golfであり、コードをできるだけ短くすることを意味します。スコアはバイト単位で測定されます。 制約とIOフォーマット 標準ルールが適用されます。追加のルールは次のとおりです。 有効な入力を想定できます 入力文字列は正確に2つの異なる文字で構成されます 最初の2文字は異なります 入力文字列の最小長は2文字です …
41 code-golf  string 

21
数字を覚えやすい
覚えやすいが、理論的には簡単に作成できない数字 あなたの課題は、これらの基準に適合する一様な乱数を生成する任意の言語でプログラム/関数を作成することです。 長さは5桁です 2つの別々の繰り返される数字のペアがあります 繰り返される数字の1つのセットは先頭または末尾にあり、数字は隣り合っています 奇数番号は他の数字のペアで囲まれています 2桁のペアと他の番号はすべて一意でなければなりません あなたのプログラムは、あなたの裁量で、先頭にゼロを付けても付けなくてもかまいません。先行ゼロがサポートされている場合、出力に含める必要があります:6088ではなく06088。先行ゼロがサポートされていない場合、06088などの数値はまったく生成されません。 テストケース 受け入れられる出力: 55373 55494 67611 61633 09033 99757 95944 22808 65622 22161 受け入れられない出力: 55555 77787 85855 12345 99233 12131 アブデ 5033 このpastebinリンクで、より受け入れられるテストケースを見つけることができます。 これらは、このpythonプログラムで作成されました。 ランダムにインポート 範囲(100)のiの場合: if random.randint(0,100)> = 50:#trueの場合、最初にペアをタッチする temp = [] #working array temp.append(random.randint(0,9))#ランダムな数字を追加 temp.append(temp [0])#同じ数字を再度追加 x = random.randint(0,9) 一方、x == …

25
熱いのでドロップソーティング
この質問で説明されているように: David Morgan-Marによって設計されたDropsortは、実際にはソートされているが、元の要素の一部のみを含むリストを生成する線形時間「ソートアルゴリズム」の例です。少なくともその前の要素の最大値よりも大きくない要素は、単にリストから削除されて破棄されます。 テストケースの1つを使用するに{1, 2, 5, 4, 3, 7}は{1, 2, 5, 7}、yieldsの入力としてas 4およびasの3両方が、以前に「ソートされた」値より小さいためにドロップされます5。 「ソート」アルゴリズムが必要なわけではありません。それが本物であることを望んでいます。したがって、数値のリストを指定して、DropSortedリストのリストを出力するプログラムを作成してください(完全なソートアルゴリズムであるために、これらのリストをマージする必要がありますが、 2つのソートされたリストのマージは以前に行われ、もう一度行うように依頼することは、2つの質問をすることとほぼ同じです。したがって、この質問は、具体的には完全なDropSortの「分割」ステップです。 ただし、リストの配置と内容は非常に重要です。プログラムの出力は、DropSortの出力と同等であり、その後に破棄された値のDropSortが続き、ソートされたチェーンのリストのみになるまで続きます。繰り返しますが、既存のテストスイートを借用します(さらに2つ追加します)。 Input -> Output {1, 2, 5, 4, 3, 7} -> {{1, 2, 5, 7}, {4}, {3}} {10, -1, 12} -> {{10, 12}, {-1}} {-7, -8, -5, 0, -1, 1} -> {{-7, -5, 0, 1}, …

30
うさぎのようにスキップ!
任意の妥当な形式の非負整数のリストが与えられたら、それを繰り返し、あなたが踏むすべての整数が言う数の要素をスキップします。 これが実際の例です: [0, 1, 0, 2, 5, 1, 3, 1, 6, 2] | [] ^ First element, always include it [0, 1, 0, 2, 5, 1, 3, 1, 6, 2] | [0] ^ Skip 0 elements [0, 1, 0, 2, 5, 1, 3, 1, 6, 2] | [0, 1] ^ …

11
10進数の干し草の山でバイナリ針を見つける
挑戦 あなたが与えられている: 正の整数の空ではない、ソートされていないリストh(haystack) 正の整数n(針) あなたの仕事は、バイナリ表現がnのバイナリ表現を含むhの順列のすべての一意の 10進連結のリストを返すことです。 例 h = [1、2、3] n = 65 一致する連結は1つしかないため、予想される出力は[321]です。 h = [1、2、3] n = 7 今回は、バイナリパターン111を含む3つの連結があります。予想される出力は[123, 231, 312]です。 h = [12、3] n = 7 2つの順列のみが使用可能で、両方が一致しています。予想される出力は[123, 312]です。 h = [1、2、2] n = 15 唯一のマッチング連結である122(1111010含むバイナリで1111予想出力されるように、) [122]。2つの順列は実際には122になりますが、出力することはできません[122, 122]。 明確化と規則 針は、整数(65)、10進数値を表す文字列()、"65"または2進値を表す文字列("1000001")として使用できます。 haystackは、ネイティブ配列/オブジェクト/整数のセット([11,12,13])、ネイティブ配列/オブジェクト/ 10進値を表す文字列のセット(["11","12","13"])、または10進値の区切り文字列("11 12 13"または"11,12,13")として取得できます。数字の配列(など[[1,1],[1,2],[1,3]])を使用してバリアントを選択することもできます。 出力は、上記のhaystackの形式のいずれかに従う必要がありますが、必ずしも同じ形式である必要はありません。 最高の10進連結が、言語で表現可能な最高の符号なし整数より大きいhaystacksを処理することは想定されていません。 それとは別に、十分な時間とメモリが与えられていると仮定すると、コードは理論的にはすべての入力をサポートする必要があります。 これはスパルタです! …

30
これは最終的に停止します…
入力文字列を指定すると、次のようSにprintのS後に空でない区切り文字が続きます。 ステップ1:S持って1/2印刷されているの機会、および1/2終了するプログラムのためのチャンスを。 ステップ2:S持って2/3印刷されているの機会、および1/3終了するプログラムのためのチャンスを。 ステップ3:S持って3/4印刷されているの機会、および1/4終了するプログラムのためのチャンスを。 … ステップはn:S持ってn/(n+1)印刷されているの機会、および1/(n+1)終了するプログラムのためのチャンスを。 ノート 入力文字列は、言語の文字列タイプで受け入れられる文字のみで構成されます。 常に同じである限り、空でないセパレータを使用できます。Sプログラムが終了する前の最後の印刷の後にセパレーターが印刷されることが期待されます。 プログラムは、1/2何かを印刷する前に終了する可能性があります。 末尾の改行は許容されます。 あなたの答えは、記述された確率を尊重する真の試みをしなければなりません。明らかに、n大きい場合、これはますます真実になります。回答で確率がどのように計算されるのか(および、それらが仕様を尊重し、疑似乱数性と大きな数の問題を無視する理由)の適切な説明で十分です。 得点 これはcode-golfであるため、バイト単位の最短回答が優先されます。

25
コンソールの寸法を教えてください!
任意の2桁の10進数形式での出力端末の寸法(列と行)*。たとえば、出力は次のようになります80x25。 インスピレーション。プロンプト。 *出力には、1つまたは2つの連続する行に両方のメジャーが必要です。また、出力の先頭および/または末尾の行は1つだけです(オプションで改行が続く場合があります)。(最大4)行は、max(cols、1 + len(str(cols))+ len(str(ro‌ ws)))より長くてはなりません。
41 code-golf 

30
ゼロから離れる
仕事 非負整数与えられn、出力1場合nであり0、出力の値nさもなければを。 入力 負でない整数。 文字列を入力として受け入れたい場合、文字列は次の正規表現に一致します。/^(0|[1-9][0-9]*)$/つまり、先頭にゼロが含まれている場合を除き0ます。 入力として実数の整数を受け入れる場合、整数が言語の処理能力の範囲内にあると想定できます。 出力 上記で指定された正の整数。先行ゼロは許可されません。出力は正規表現と一致する必要があり/^[1-9][0-9]*$/ます。 テストケース input output 0 1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 得点 これはcode-golfであるため、バイト単位の最短回答が優先されます。 標準の抜け穴が適用されます。

30
haiku-wディテクターを書く
A 俳句は 5/7/5で、三行詩である音節それぞれカウント。 俳句-wは 5/7/5で、三行詩であるワードをそれぞれカウント。 チャレンジ 返されるプログラム書くの真入力は俳句-W、及びある場合にはfalseではない場合が。 有効なhaiku-w入力は、改行で区切られた3行で構成する必要があります。 行1は5つの単語で構成され、各単語はスペースで区切られている必要があります。 行2は7つの単語で構成され、各単語はスペースで区切られている必要があります。 行3は5つの単語で構成され、各単語はスペースで区切られている必要があります。 例 The man in the suit is the same man from the store. He is a cool guy. 結果:真 Whitecaps on the bay: A broken signboard banging In the April wind. 結果:偽 ルール これはcode-golfであるため、バイト単位の最短回答が優先されます。 標準的なコードとゴルフの抜け穴が適用されます。不正行為は禁止されています。 他のブール戻り値、等1とは0、許容可能です。 入力としての文字列の長さ3のリストも使用できます。 有効なhaiku-w入力には、先頭または末尾のスペース、または単語を区切る複数のスペースを含めることはできません。

30
この数値は-2の整数乗ですか?
数値が2のべき乗かどうかを判断する賢い方法があります。これはもはや興味深い問題ではないので、与えられた整数が-2の整数のべき乗かどうかを判断しましょう。例えば: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² ルール プログラムまたは関数を作成し、入力を受け取って出力を提供する標準的な方法を使用できます。 入力は単一の整数であり、整数が-2の整数乗である場合は出力が真実の値であり、それ以外の場合は偽の値である必要があります。他の出力(警告メッセージなど)は許可されません。 通常の整数オーバーフロールールが適用されます。ソリューションは、すべての整数がデフォルトで制限されていない仮想バージョン(または実際のバージョン)の任意の大きな整数で動作できる必要がありますが、実装によりプログラムが実際に失敗する場合それほど大きな整数をサポートしていなくても、ソリューションは無効になりません。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 勝利条件 これは、コードとゴルフのコンテストです。(選択したエンコーディングで)バイト数が最も少ない答えが勝者です。

15
ソースコードに素数が含まれていない数値が2017年に壊れやすいかどうかを判断する
私がこの挑戦をしてきたすべての年のうち、2017年は素数であった最初の年です。したがって、問題は素数とその性質についてです。 あなたの仕事は、入力として任意の大きな正の整数を受け取り、2,017-friableであるかどうか、つまりその数の最大素因数が2,017以下であるかどうかを出力または返すプログラムまたは関数を生成することです。 いくつかの入力例とその出力: 1 (has no prime factors) true 2 (= 2) true 80 (= 2 x 2 x 2 x 2 x 5) true 2017 (= 2017) true 2019 (= 3 x 673) true 2027 (= 2027) false 11111 (= 41 x 271) true 45183 (= 3 x 15061) …

30
この番号は(3 ^ x)-1形式で記述できますか?
チャレンジ: 正の整数を受け入れ、(3 ^ x)-1の形式で記述できるかどうかをチェックするプログラムを作成します。ここで、Xは別の正の整数です。 可能であれば、Xを出力します できない場合は、-1または偽のステートメントを出力します。 入力/出力の例 入力: 2 (3 ^ 1)-1と書くことができるので、1であるxを出力します 出力: 1 入力: 26 26は(3 ^ 3)-1と書くことができるので、x(3)を出力します 出力: 3 入力: 1024 1024は(3 ^ x)-1の形式では記述できないため、-1を出力します 出力: -1 これはコードゴルフなので、バイト数が最小になります 関連OEIS:A024023

30
課題の配列#1:交互配列
交互配列 交互配列は、2つ(必ずしも異なる)の値が交互にされた任意の長さのリストです。つまり、すべての偶数インデックスのアイテムは等しく、すべての奇数インデックスのアイテムは等しくなります。 あなたの仕事は、正の整数のリストが与えられたときに、truthy交互になっているfalsy場合とそうでない場合に出力/返すプログラムまたは関数を書くことです。 これはcode-golfなので、最短のコード(バイト単位)が勝ちです! エッジケース: [] -> True [1] -> True [1,1] -> True [1,2,1] -> True その他のテストケース: [1,2,1,2] -> True [3,4,3] -> True [10,5,10,5,10] -> True [10,11] -> True [9,9,9,9,9] -> True [5,4,3,5,4,3] -> False [3,2,1,2,1,2] -> False [1,2,1,2,1,1,2] -> False [2,2,3,3] -> False [2,3,3,2] -> False 例 Python …

8
渦巻く言葉を見つけよう!
方法や理由を聞かないでください。プロジェクトのコーディング中に、いくつかの単語の文字がアルファベットを参照する特定のパターンを持っていることに気づき、単語の各文字をアルファベットの鉛筆でつなぎ、スパイラル、それから私は最初のスパイラルが時計回りであり、他が反時計回りであり、他の特性に気づいたので...私はそれらを渦巻く言葉と命名しました! A 旋回ワードを指定できます。 時計回りまたは反時計回り 求心性または遠心性 ここに渦巻く言葉のいくつかの例があります: タスク1: 標準入力から単語を取得し、スワーリングワードである場合に出力する完全なプログラムまたは関数を、読み取り可能な形式、拡張テキスト、3文字、フラグなどで記述します。 さまざまな単語のテストケースと出力例(ただし、結果の表示方法は決定できます): EARTH, GROUP > NO // NOT A SWIRLING WORD OPERA, STAY, IRIS > SW,CF,CW // SWIRLING WORD, CENTRIFUGAL, CLOCKWISE MINER, TAX, PLUG, META > SW,CF,CC // SWIRLING WORD, CENTRIFUGAL, COUNTERCLOCKWISE AXIOM, AXIS, COOK > SW,CP,CW // SWIRLING WORD, CENTRIPETAL, CLOCKWISE WATCH, …
41 code-golf  string 

10
スクエア、ダイヤモンド、スクエア、ダイヤモンド
仕事 小文字のASCII文字a-の空でない文字列が与えられた場合、z最初の文字を取り、そして: 2番目のキャラクターのコピーの正方形でそれを囲み、 それを3番目のキャラクターのコピーのひし形で囲み、 4番目の文字のコピーの正方形でそれを囲みます… …文字列の終わりまで正方形とダイヤモンドの境界を交互に切り替えます。ボーダー間の空のスペースは、ASCIIスペース()で表す必要があります。 正方形の境界線を追加するには、現在の「作業配列」全体を正確に囲むように正方形を描きます。 sssssssssss t s t s t t s t t s t t s t t s t aaa t s t aaa t s t aca t => st aca ts t aaa t s t aaa t s t t s …

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