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

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

28
文字列を指定して、対応する列の数を計算します
Excelでは、列の範囲は等A-Z, AA,AB,AZ,BA,..,BZです。実際にはそれぞれ数字を表しますが、アルファベット文字列としてエンコードされます。 このチャレンジでは、アルファベットの文字列が与えられ、それに対応する列を計算する必要があります。 いくつかのテスト: 'A'は1を返します(最初の列であることを意味します) 'B'は2を返します 「Z」は26を返します 「AA」は27を返します 「AB」は28を返します 「AZ」は52を返します 「ZZ」は702を返します 「AAA」は703を返します 大文字のみが与えられると仮定できます。 最短バイトが勝ちます。 幸運を!
17 code-golf  math 

25
就業日カウントダウン
ワークライフをより簡単にするための天才的なアイデアがありました-就業日のみをカウントする特定の日付へのカウントダウン。 基本的なタスクは、カウントダウンに就業日のみを含む特定の日付までのカウントダウンを作成することです。 就業日は月曜日、火曜日、水曜日、木曜日、金曜日にカウントされます。 入力は「非公式」ヨーロッパ標準形式の特定の日付であるdd.MM.yyyy必要があり、今日または将来の日付でなければなりません。 出力は、残りの日数のみである必要があります。 それのようコードゴルフ最短コード勝ち。 テストケース: Today | Input | Output 10.12.2018 | 17.12.2018 | 5 02.10.2018 | 16.10.2018 | 10 私が質問でいくつかのことを逃した場合、私を許してください-それは私の最初の質問です:) 編集: <-のfalse代わりに出力として使用できますが、0 美しくありません DSTを尊重する必要はありません
17 code-golf  date 

18
1桁の最長の繰り返し部分シーケンス
チャレンジ: 正の整数を指定すると、少なくとも2回発生する最長の1桁のサブシーケンスを出力し、ANDには別の桁(または整数の開始/終了)の境界があります。 例: 入力:7888885466662716666 1桁の最長サブシーケンスは、長さが5の88888(7[88888]5466662716666)になります。ただし、このサブシーケンスは整数で1回しか発生しません。 代わりに、入力のために結果が7888885466662716666あるべきである6666(78888854[6666]271[6666]それは二倍(少なくとも)が発生するので、)。 チャレンジルール: サブシーケンスの長さは、発生する回数よりも優先されます。(つまり、入力の8888858888866656665666場合、出力88888([88888]5[88888]66656665666;長さ5、2回発生します)ではなく、666(88888588888[666]5[666]5[666];長さ3、3回発生します)。 複数のサブシーケンスの長さが等しい場合、発生回数が最大のサブシーケンスを出力します。入力に、即ち3331113331119111、我々出力111(333[111]333[111]9[111];長さ3は、3回発生する)、およびいない333([333]111[333]1119111;ならびに長さ3が、2回出現) 複数のサブシーケンスの出現回数と長さが等しい場合、それらのいずれか、またはすべてを(任意の順序で)出力できます。777333777333つまり、inputの場合、可能な出力は次のとおり777です。333; [777, 333]; または[333, 777]。 サブシーケンスには、他の数字(または整数の開始/終了)の境界が必要です。すなわち、入力の場合122222233433、結果は33(1222222[33]4[33];長さ2、2回発生します)ではなく222(1[222][222]33433、長さ3、両方とも無効で2回発生します)。 これは、オカレンスカウンターにカウントされるすべての数値に適用されます。811774177781382つまり、入力の場合、結果は8([8]117741777[8]13[8]2;長さ1、3回発生します)ではなく77(811[77]41[77]781382/ 811[77]417[77]81382;長さ2、無効な1回で2回発生)、1(8[1][1]774[1]7778[1]382;長さ1、無効な2回で4回発生)です。 入力に数字が含まれないと想定できます0(一致します[1-9]+)。(これは、ほとんどの言語がデフォルトで出力する10002000outputのようなテストケースを処理する必要を避けるためです。)0000 入力には常に少なくとも1つの有効な出力が含まれると想定できます。 I / Oは両方とも柔軟です。リスト/配列/数字/バイト/文字のストリーム、または単一の整数ではなく文字列として指定できます。 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 回答には標準的な規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを備えた関数/メソッドを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストへのリンクを追加してください。 また、回答の説明を追加することを強くお勧めします。 テストケース: Input: 7888885466662716666 / [7,8,8,8,8,8,5,4,6,6,6,6,2,7,1,6,6,6,6] Output: 6666 / [6,6,6,6] Input: 3331113331119111 / [3,3,3,1,1,1,3,3,3,1,1,1,9,1,1,1] Output: 111 / [1,1,1] Input: 777333777333 …

30
合計
ましょう(入力)n=42n=42n=42 除数は次のとおりです:1、2、3、6、7、14、21、42 各除数の平方:1、4、9、36、49、196、441、1764 合計(加算):2500 以来したがって、我々はtruthy値を返します。完全な正方形でない場合は、偽の値を返します。50×50=250050×50=250050\times 50=2500 例: 42 ---> true 1 ---> true 246 ---> true 10 ---> false 16 ---> false これはコードゴルフなので、各言語のバイト単位の最短コードが勝ちます シーケンスを指摘してくれた@Arnauldに感謝します:A046655

7
ビットを分割します!
は、合計がxになる2のべき乗のリストとして定義します。例えば、V (35 )= [ 32 、2 、1 ]。V(x)V(x)V(x)222xxxV(35)=[32,2,1]V(35)=[32,2,1]V(35)=[32,2,1] 慣例により、ここではパワーが最高から最低の順にソートされます。ただし、チャレンジのロジックや予想されるソリューションには影響しません。 仕事 半素数 与えられた場合、V (N )の各項を、この項を合計する別の2のべき乗のリストで置き換えます。結果として生じるすべてのサブリストの和集合は、次のように定義される行列Mの正確なカバーですNNNV(N)V(N)V(N)222MMM Mi,j=V(P)i×V(Q)jMi,j=V(P)i×V(Q)jM_{i,j}=V(P)_i \times V(Q)_j ここで、とQはNの素因数です。PPPQQQNNN これはいくつかの例で理解するのがはるかに簡単です。 例1 、我々は持っています:N=21N=21N=21 V(N)=[16,4,1]V(N)=[16,4,1]V(N)=[16,4,1] 及び V (P )= [ 4 、2 、1 ]P=7P=7P=7V(P)=[4,2,1]V(P)=[4,2,1]V(P)=[4,2,1] 及び V (Q )= [ 2 、1 ]Q=3Q=3Q=3V(Q)=[2,1]V(Q)=[2,1]V(Q)=[2,1] M=(844221)M=(842421)M=\pmatrix{8&4&2\\4&2&1} オンにの正確なカバーにM、我々は分割することができる16の中に8 + 4 + 4及び4に2 + 2ながら、1は変更されません。したがって、可能な出力は次のとおりです。V(N)V(N)V(N)MMM1616168+4+48+4+48+4+44442+22+22+2111 [[8,4,4],[2,2],[1]][[8,4,4],[2,2],[1]][ [ 8, …

15
ポリリズムで助けて
私はミュージシャンであり、人生でもっとポリリズムが必要です! ポリリズムは、2つのイベント(拍手、音、ホタルの点滅など)が2つの異なる定期的な間隔で発生するときに、音楽(および自然)で発生します。2種類のイベントは、同じ間隔で異なる回数発生します。 同じ時間内に左手で2回、右手で3回タップすると、次のようになります。 ------ R . . . L . . 上部のハイフンは、多発性パターンの長さを示します。これは、最小公倍数または2と3です。これは、パターンが繰り返されるポイントとして理解できます。 「メタリズム」もあります。これは、どちらかの手がタップされたときに生成されるパターンです。 ------ R . . . L . . M . ... これはシンプルで非常に一般的なポリリズムで、比率は3:2です。 頭の中でできるシンプルなポリリズムをしたくないので、それを解決するために何かが必要です。紙の上で長い形式でやることもできますし... ルール: 上記のように、ポリリズムダイアグラムを生成および表示するコードを記述します。 古い言語は、最小限のバイトで試してください。 コードは2つの引数を取ります。 左手でのタップ数(正の整数) 右手でのタップ数(正の整数) 2つの引数の最小公倍数である長さを計算します。 一番上の行は、2つの空白文字とそれに続く長さ(長さ* '-')を表示するハイフンで構成されます 2行目と3行目には、右手と左手のパターンが表示されます。 RまたはLで始まり、どちらのハンドであるかを示し、その後にスペースが続きます。 その手の間隔は、長さを引数で割ったものです。 タップは、選択した任意の文字で示される3番目の文字から始まります。それ以降は、同じ文字の「間隔」文字が離れて表示されます。 長さの行より長くなることはありません。 4行目はメタリズムです。 大文字のMで始まり、その後にスペースが続きます。 3番目のキャラクターからは、右手または左手のいずれかのタップがあるすべての位置にキャラクター(選択した任意のキャラクター)が表示されます。 末尾の空白は無関係です。 テストケース: r = 3、l = 2 …
17 code-golf 

22
数字のペアの説明で並べ替える
正の整数を指定すると、ペアで取得した数字で記述される新しい数字を作成できます(数字の奇数の場合は、先頭に0を追加します)。 例えば: 1234は1つ、2つ、3つの4として読み取ることができます。したがって、1234の出力は2444です。 643の桁数は奇数なので、先頭にゼロを追加して偶数にします。この場合、0643は次のように読み取ることができます:ゼロ6秒、4つの3秒。したがって、出力は3333になります。 (これはOEIS A056967です)。 タスク:正の整数の配列が与えられた場合、数字ペアで記述された値で昇順に並べ替えます。同じ値につながる入力番号の間で順序は関係ありません。 入力:正の整数の配列/リスト/セット。入力の先頭のゼロは許可されず、文字列/数字のリストなどとして入力されます。許可されていません-入力は、言語が使用できる限り整数/数値型に近いものでなければなりません。 出力:上記の方法でソートされた配列で、通常の方法(関数の戻り値/ STDOUT / voidへの叫びなど)で返されます。それらを個別に印刷し、数値、文字列、またはリストとして返すことができます。桁。 テストケース Input Output [19, 91, 2345, 2023] [19, 2023, 2345, 91] [25257, 725, 91, 5219, 146125, 14620512] [725, 5219, 14620512, 91, 146125, 25257] [123130415 3335 91 111111111 528 88] [528, 111111111, 123130415, 3335, 88, 91] [1 21 33 …

15
リストをサイズのチャンクに分割しますが、述語に失敗したアイテムはカウントしません
動機:リスト内の特定のアイテムが合計にカウントされない場合があります。例えば、赤ちゃんが親の膝の上に座っている飛行機の乗客を列に数えます。 課題:アイテムのリストをチャンクに分割するプログラムを作成します。各チャンク(最後のチャンクを除く)は同じサイズです。サイズは、述語関数を渡すアイテムの数として定義されます。 ルール: あなたのプログラムは アイテムのリスト 正の整数チャンクサイズ 述語関数(項目を取り、trueまたはfalseを返します) 入力リストをチャンクに分割して返す必要があります 各チャンクはアイテムのリストです 全体的に、アイテムは同じ順序のままで、何も変装していない必要があります 各チャンク(おそらく最後を除く)で述語を渡すアイテムの数は、入力チャンクサイズと一致する必要があります。 述語に失敗したアイテムは、このサイズにカウントされません 述語に失敗した項目は 出力チャンクにまだ含まれています チャンクが「満杯」であるが、次の項目が述語に失敗したものである場合、最も早いチャンクに割り当てられます したがって、最終チャンクは、述語に失敗した項目のみで構成されない場合があります すべてのアイテムが考慮されているため、最終チャンクのサイズはチャンクサイズよりも小さい場合があります。 非網羅的な例: 最も簡単な例は、述語関数がである1sと0s を考慮することですx ==> x > 0。この場合、sum各チャンクのがチャンクサイズと一致する必要があります。 items:[]、size:2、predicate:x > 0-> []または[[]] アイテム:[0, 0, 0, 0, 0, 0]、サイズ:2、述語:x > 0->[[0, 0, 0, 0, 0, 0]] アイテム:[0, 1, 1, 0]、サイズ:2、述語:x > 0->[[0, 1, 1, 0]] …

7
積み上げ桁階段
以下に説明するように、正の整数およびhを指定すると、テキストのw列およびh行が出力されます。wwwhhhwwwhhh 最初の行は11 0秒で始まり、2行目は10 1秒で始まり、3 行目は9 2秒で始まり、10行目は2秒で続き9ます。これらの最初の10行のそれぞれで、連続する数字の最初の実行に続いて、次に低い数字が2回現れ、次に2番目に小さい数字が2回現れ、このパターンが永久に繰り返されます。0sの実行が発生した場合、その後の数字は常に9sです。 10番目の行の下の行は、そのすぐ上の行と同じですが、1つ右にシフトします。表示される新しい数字は、それ自体の別のインスタンスの隣にない場合、前の左端の数字と同じです。それ以外の場合は、次に高い桁(9から0に戻る循環)です。 最初の要素は次のとおりです。11×1011×1011\times10 00000000000 11111111110 22222222211 33333333221 44444443322 55555544332 66666554433 77776655443 88877665544 99887766554 パターンをより明確にするために、色付きのテキストを使用した画像を次に示します。 より少ない列/行を作成する必要がある場合は、上記のテキストを切り抜く必要があります。 これより多くの列/行を作成する必要がある場合は、既存の階段を延長する必要があります。さらに列/行が連続する数字の新しい階段を追加する場合、数字は整数から周期的に選択される必要があります。したがって、入力のために出力がなければなりません(15,13)(15,13)(15,13) 000000000009988 111111111100998 222222222110099 333333332211009 444444433221100 555555443322110 666665544332211 777766554433221 888776655443322 998877665544332 099887766554433 009988776655443 100998877665544 このテキストの色付きの画像を次に示します。 ルール 便利な方法で出力できます。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 必要に応じて、行のリストを返すことができます。 必要に応じて、数字の2D配列または数字のリストのリストを返すことができます。 標準の抜け穴は許可されていません。 最短のコードが優先されます。 テストケース (w,h)(w,h)(w,h) 1,1 0 3,2 000 111 20,1 …

30
プレフィックスのテキストを検索し、テキスト内のすべてのサフィックスをリストします
ここでは、「接頭辞に続く任意の部分文字列」を意味するために、「接尾辞」を大まかに使用します。 ここでの「プレフィックス」とは、単語の開始を意味します。単語の開始は、スペースの後または入力テキストの最初の文字(最初の単語)として定義されます。単語の途中にある「プレフィックス」は無視されます。 たとえば、入力プレフィックスが「arm」で、入力テキストが「迫り来るハルマゲドンに対してダンブルドアの軍隊が完全に武装した」場合、出力リストには(y、ed、ageddon)が含まれます。 テストケース 大文字と小文字が区別され、文字列はスペースの後に終わると仮定します。入力はスペースで始まりません。 重複の削除はオプションです。 Input prefix: "1" Input text: "He1in aosl 1ll j21j 1lj2j 1lj2 1ll l1j2i" Output: (ll, lj2j, lj2) - in any permutation Input prefix: "frac" Input text: "fracking fractals fracted fractional currency fractionally fractioned into fractious fractostratic fractures causing quite a fracas" Output: (king, tals, …

3
死んだカエルの歩行
前書き ジョニーはフロッガーをプレイしたい。しかし、彼はあまりよくありません。実際、彼はプラットフォームが移動した後にのみ、前進しようとします。 ジョニーのカエルが道の終わりに到達したのか、途中で死んだのかを調べてください。 チャレンジ このプログラムは、0sおよび1sで構成されるフロッガーグリッドを次の形式で入力として受け取ります。 グリッドの幅と長さはランダムで、少なくとも3x3 1 プラットフォームを表します 0 水を表します F カエルの開始位置を表します グリッドの最初と最後の行はすべて1s のみで構成され、移動せず、カエルFは最後の行にランダムに配置されます すべての中間層は常に移動し、各行の最後<または>末尾に、左または右に移動するかどうかを示します これらの記号をすべて独自のものに置き換えて、それらがすべて明確であり、回答で置き換えを指定する限り、許可されます。 入力は、互換性のある任意の形式(改行を含む文字列、文字列の配列、文字の配列、...)にすることができます。 チャレンジルール ターンごとに、すべてのプラットフォームは、<または>記号で示された方向に基づいて1マス移動 プラットフォームが「スクリーン」から押し出されると、グリッドの反対側に再び表示されます カエルが動くプラットフォーム上にある場合、カエルも一緒に移動します その後、カエルは一番上の行に向かって1つの正方形をジャンプします。カエルは毎ターン移動します。 カエルが水に飛び込んだ場合(0)、または移動するプラットフォームとともにグリッドの側面に触れた場合、カエルは死にます。 あなたのプログラムは、カエルが生き残る場合は真実の値を出力し、それ以外の場合は偽の値を出力する必要があります。 これはcode-golfであるため、バイト単位の最短回答が勝ちます。標準の抜け穴が適用されます。 例 例1 入力 11111 00111> 00101< 1F111 出力 1 実行 ターン1: 11111 10011 01010 1F111 11111 10011 0F010 11111 ターン2: 11111 11001 F0100 11111 11111 …

16
タイムスパンを数える
私はここへの答えを求めた現実のシナリオに触発されました:https : //superuser.com/questions/1312212/writing-a-formula-to-count-how-many-times-each-date-日付のセットに表示されます タイムスパンの配列(または開始日と終了日のペア)を指定すると、合計範囲内のすべての日について、1日をカバーするタイムスパンの数を出力します。 例えば: # Start End 1 2001-01-01 2001-01-01 2 2001-01-01 2001-01-03 3 2001-01-01 2001-01-02 4 2001-01-03 2001-01-03 5 2001-01-05 2001-01-05 上記のデータを考えると、結果は次のようになります。 2001-01-01: 3 (Records 1,2,3) 2001-01-02: 2 (Records 2,3) 2001-01-03: 2 (Records 2,4) 2001-01-04: 0 2001-01-05: 1 (Record 5) 各日のカウントのみを出力する必要があります(順番に古いものから新しいものへソートされます)。どのレコードに表示されるかではありません。 各タイムスパンには、時刻ではなく日付のみが含まれると想定できます。したがって、丸1日は常に表されます。 I / O 入力は、タイムスパンのセットを表す任意の形式です。つまり、時間のペアのセット、または開始日と終了日を含む(ビルトイン)オブジェクトのコレクションのいずれかです。PPCGチャレンジでは通常のように、日時は1901〜2099に制限されています。 入力は好きなように事前にソートされていると仮定できます(答えを指定してください)。入力日付は包括的です(したがって、範囲には開始日と終了日全体が含まれます)。 また、特定の範囲内の2つの日付のうち、最初の日付が2番目の日付よりも古いか等しいと見なすこともできます(つまり、負の日付範囲はありません)。 …
17 code-golf  date 

24
シーケンスステップを取得する
チャレンジ 一連の数字が与えられたら、一連のステップを返す関数を作成します。 シーケンスは次のようになります N >= 3 シーケンスは少なくとも1回ステップを繰り返します シーケンスには自然数のみが含まれます 関数またはプログラムは、可能な限り短い手順のシーケンスを返す必要があります 例: 入力: [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17] 出力: [1, 1, 2] 説明:初期シーケンスはから始まります1 => 2 (1 step), 2 => 3 (1 step), 3 => 5 (2 steps)。その後、繰り返します。出力は[1 step, 1 step, 2 steps] => [1, …

12
一般化されたCantorセットのセグメント長
問題 単一の連続した間隔から開始して、まだ削除されていないすべての間隔の中間から合理的な長さのセグメントを繰り返し削除することにより、一般化されたCantorセットを定義しましょう。 削除するかどうかのセグメントの相対的な長さ、および実行する反復回数を考えると、問題は、反復後に削除された、またはされていないセグメントの相対的な長さを出力するプログラムまたは関数を作成することnです。 例:4番目と6番目の8番目を繰り返し削除する 入力: n – 0または1から始まるインデックス付きの反復回数 l-セグメントの長さのリストは、正の整数gcd(l)=1と奇数の長さで、削除されないセグメントから始まる、そのままの状態または削除される部分の相対的な長さを表します。リストの長さが奇数であるため、最初と最後のセグメントは削除されません。たとえば、通常のCantorセットの場合、これは3分の1が[1,1,1]になり、3分の1が削除され、3分の1が削除されます。 出力: 前の反復で削除されなかったセグメントがリストの縮小されたコピーで置き換えられるとき、th反復における相対セグメント長の整数リストo、。最初の反復はちょうどです。単項式であっても、明確な出力方法を使用できます。gcd(o)=1nl[1] 例 n=0, l=[3,1,1,1,2] → [1] n=1, l=[3,1,1,1,2] → [3, 1, 1, 1, 2] n=2, l=[3,1,1,1,2] → [9,3,3,3,6,8,3,1,1,1,2,8,6,2,2,2,4] n=3, l=[5,2,3] → [125,50,75,100,75,30,45,200,75,30,45,60,45,18,27] n=3, l=[1,1,1] → [1,1,1,3,1,1,1,9,1,1,1,3,1,1,1] 入力が有効であると想定できます。これはcode-golfであるため、バイト単位で測定される最短のプログラムが優先されます。

16
行列列の進行
無限行列を考えます: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 2 3 0 0 2 3 0 0 2 3 0 0 2 3 0 0 0 4 5 6 0 0 0 4 5 6 0 0 0 4 ... …
17 code-golf  matrix 

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