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

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

7
マジック:収集、呪文の支払い
MtG-goodness:Magic:The Gathering Combat with Abilitiesの詳細 前提: マジック:ザギャザリングでは、必要な量の土地をタップしてマナコストを支払うことで、呪文を唱えます。これらの土地は、次の5つの色のいずれかを生成できます。 ホワイト(W) 青(U) 黒(B) 赤(R) 緑(G) コストは2つの部分で構成されています。一般的なマナ要件である数と、色のマナ要件を表す一連のシンボルです。数値は一般的なマナコストであり、任意の色のマナを使用して満たすこと(3)ができますWGG。たとえば、で支払うことができます。シンボルは、特定の色の1:1の要件です。たとえばWWUBR、2つの白マナ、1つの青、1つの黒、1つの赤が必要です。Genericパーツは常にColoredパーツの前に来ます。注意として、(0)は有効なコストであり、処理する必要があります。 完全に汎用的であるか、完全に色付けされているか、またはその両方のコストを持つことができます。たとえば、次のカードのコストは4BBで、色のマナ4つと黒のマナ2つが支払われます。 この挑戦の土地はそれぞれ1マナを生み出します。ただし、複数の色を生成できるが、1マナしか得られない土地を検討します。たとえばG、緑のマナWGを生成し、1つの白または1つの緑を生成できます。 入力: カードのコストと土地のリストの2つの入力が与えられます。 カードのコストは、文字列、または色の部分の数字と文字列を含むタプルのいずれかです。一般的な部分がない場合は、文字列/タプルに0を埋め込むことができます。 土地リストは文字列のリストであり、それぞれが特定の土地で生成できるものです。このリストは空にすることができます(土地がない場合)。これをビットマスクロジックを使用してintのリストとして取得することもできますが、そうする場合はスキームをポストします。それが重要である場合、注文もあなた次第です。それ以外の場合は、WUBRG注文が想定されます。 #Example input formats "4BB", ("WG","B","B") # (4,"BB"), (7,3,3) #Both should return falsy 出力: truthyあなたの土地に与えられたコストを首尾よく支払うことができる場合の価値と、あなたが支払うfalseyことができない場合の価値。 ルール: 有効な入力が保証されます マナは常に「WUBRG」の順番であると想定されます。別の注文が必要な場合は、回答にその旨を明記してください。 色は常にコストでグループ化されます。例:「WWUBBRG」 入力には、すべて大文字またはすべて小文字のいずれかを使用します。 正規表現127[WUBRG]{127}と254の土地を処理できるはずです。 禁止されている標準の抜け穴 これはコードゴルフであり、言語の勝利ごとの最短の答えです 例: "0", ("") => 1 "1BB", ("WG","B","B") => 1 …

3
回路は可能ですか?
入力を取得するプログラムまたは関数を記述します。使用可能なすべての抵抗と抵抗値、およびそれらの抵抗を使用して抵抗を取得できるかどうかの真の値を出力します。 ルール: 入力用の任意のフォーマットで十分です。 少なくとも1つの利用可能な抵抗があり、プログラムは少なくとも10個の利用可能な抵抗に対して出力する必要があります。 利用可能なすべての抵抗の抵抗と必要な抵抗は正の整数になります。 小数の値も可能な場合に使用可能な抵抗の場合、必要な抵抗は概算値になることがあります(例を参照)。 出力は、可能と不可能の2つの一意の値である必要があります。 抵抗器は任意の方法で接続できます。 直列抵抗:直列のn個の抵抗の場合:Result = R1 + R2 + R3 + .... Rn 並列抵抗:n個の並列抵抗の場合:結果= 1 /(1 / R1 + 1 / R2 + 1 / R3 + .... + 1 / Rn) 回路は、必要な抵抗を得るためにすべての抵抗を必要としない場合があります(その場合、出力はTrueです)。 勝者: これはコードゴルフなので、最短コードが優先されます。 例: R List 110 220,220 -> True 440 220,220 -> …

14
辞書式順序の括弧シーケンス
ここからもここからも挑戦 n個の括弧配列は、から成り、N (、S及びN ) S。 有効な括弧シーケンスは、次のように定義されています。 隣接する括弧「()」が空になるまで繰り返し消去する方法を見つけることができます。 たとえば、(())は有効な括弧であり、2番目と3番目の位置のペアを消去して()それをにしてから、空にすることができます。 )()(は有効な括弧ではありません。2番目と3番目の位置のペアを消去すると、ペアになり、それ)(以上消去できなくなります 仕事 番号nを指定すると、辞書式順序ですべての正しい括弧シーケンスを生成する必要があります 出力は、配列、リスト、または文字列(この場合は行ごとのシーケンス)です。 あなたは括弧などの異なるペアを使用することができ{}、[]、()または任意の開閉サイン 例 n = 3 ((())) (()()) (())() ()(()) ()()() n = 2 (()) ()()

2
Python:2つのリストからアイテムをインターリーブする最短の方法
リスト3を取得する最短の方法(可能な限り文字)を取得しようとしています。 リスト1とリスト2はすでに引数として指定されており、長さは同じです。 l1 = [1, 2, 3, 4, 5] l2 = ['a', 'b', 'c', 'd', 'e'] リスト3は次のようになります(はい、リストである必要があります)。 l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]

12
さまざまな組み合わせが可能
問題 値nが与えられた場合、参照(0、0)から(2n、0)に内接する山の風景を想像してください。斜面の間に空白があってはならず、山はX軸の下に下りません。解決すべき問題は次のとおりです。n(ランドスケープのサイズを定義)とピークの数k(kは常にn以下)を前提として、kのピークで山の組み合わせはいくつ可能ですか? 入力 ランドスケープの幅を表すnおよびピークの数であるk。 出力 可能な組み合わせの数だけ。 例 n = 3およびk = 2の場合、答えは3つの組み合わせです。 視覚的な例を示すために、それらは次のとおりです。 /\ /\ /\/\ /\/ \ / \/\ / \ 6(3 * 2)の位置と2つのピークを使用して可能な3つの組み合わせです。 編集:-その他の例- n k result 2 1 1 4 1 1 4 3 6 5 2 10 当選条件 標準のコードゴルフ規則が適用されます。バイトでの最短の提出が優先されます。

6
Codegolf Rainbow:反射による色の並べ替え
前書き: 2つの虹に関連する課題を投稿した後:Codegolf Rainbow:Fun with Integer-Arrays 1とCodegolf Rainbow:Draw in Black-and-White 2、次のコメントは@ChrisMによってASCIIで作成されました(Draw in Black-and-White)挑戦: 多分あなたはこれを知っていて、それは設計によるものです(虹は菱形でもアスキーでもないことを知っています、そしてより高次の位置はより複雑になります)、しかし2番目の虹では色が反転していませんか? そして、彼は確かに正しい。二重の虹が見えるとき、2番目の虹は実際には最初の虹を反映しているため、色が逆になります。3つの虹は実際の二重の虹であり、3番目の虹は他の2つの虹の1つを反映しています。そして、4つの場合、2つの虹とそれらの2つの反射があります。 それでは、その事実を使用して、3番目の関連する課題を作成しましょう。 チャレンジ: 入力:正の整数でnあり>=2、かつサイズの整数のリスト>= n+1。 出力:次のように順序付けられた同じリスト: 最初に、入力リストをサイズのサブリストに分割しますn(末尾のサブリストは範囲内の任意のサイズにすることができます[1,n])。 次に、サブリストのm数に基づいて次のことを行います。 m - m//2サブリストの最初の量を最低から最高にソートします(//整数除算はです)。(つまり、6つのサブリストを使用すると、最初の3つは最低から最高にソートされます。5つのサブリストを使用すると、最初の3つは最低から最高にソートされます。) m//2サブリストの最後の量を最高から最低まで並べ替えます(//整数除算はです)。(つまり、6つのサブリストがある場合、最後の3つは最も高いものから最も低いものへと並べ替えられます。5つのサブリストがある場合、最後の2つは最も高いものから最も低いものへと並べ替えられます。) すべてのサブリストをマージして、再び単一のリストを形成します 例: 入力:n=7および[3,2,1,-4,5,6,17,2,0,3,5,4,66,-7,7,6,-5,2,10] ステップ1:[[3,2,1,-4,5,6,17],[2,0,3,5,4,66,-7],[7,6,-5,2,10]] ステップ2:[[-4,1,2,3,5,6,17],[-7,0,2,3,4,5,66],[10,7,6,2,-5]] ステップ3 /出力:[-4,1,2,3,5,6,17,-7,0,2,3,4,5,66,10,7,6,2,-5] 入力:n=4および[7,4,-8,9,3,19,0,-23,-13,13] ステップ1:[[7,4,-8,9],[3,19,0,-23],[-13,13]] ステップ2:[[-8,4,7,9],[-23,0,3,19],[13,-13]] ステップ3 /出力:[-8,4,7,9,-23,0,3,19,13,-13] チャレンジルール: 整数入力nは1より大きいことが保証されています。 integer-listのサイズは、より大きいことが保証されていますn。 末尾のサブリストは、より小さくすることができますn(例とテストケースで確認できます)。 I / Oフォーマットは、あらゆる合理的なフォーマットに柔軟に対応できます。整数または小数のリスト/配列、コンマ/スペース/改行で区切られた文字列、整数のストリームなどにすることができます(出力は、ステップ2のようなリストの2Dリストではない場合があります。ステップ3でリストをフラットに戻しますこのチャレンジには必須です。) 一般的なルール: これはcode-golfなので、バイト単位の最短の回答が優先されます。 コードゴルフ言語では、コードゴルフ言語以外の言語で回答を投稿しないようにしないでください。「あらゆる」プログラミング言語について、可能な限り短い答えを考え出すようにしてください。 回答には標準規則が適用されるため、STDIN / STDOUT、関数/メソッドを適切なパラメーターと戻り値の型の完全なプログラムで使用できます。あなたの電話。 …

3
共有誕生日パーティー
オフィス(「オフィス」と呼ぶことにします)は、オフィスの誕生日パーティーを統合することで、2019年の無駄な時間を削減します。同じ週の月曜日から金曜日(含む)の間に誕生日がある2人は、その週のいつかで共有誕生日パーティーで祝われます。誕生日が土曜日または日曜日に当たる人々はパーティーをまったく開催しません。 実際の誕生日を共有しない人と誕生日パーティーを共有したくない人もいます。彼らは共有の誕生日パーティーを持つことは非常に怒っています。 オフィスをシミュレートして、共有の誕生日パーティーについて誰かが非常に怒る最初の週を見つけます。 チャレンジ 次の基本ルールに従って、シミュレートされたオフィスの誰かが共有誕生日パーティーに非常に怒る 2019年の最初のISO週番号を出力するプログラムまたは関数を記述します。 N > 1の整数を入力します。これは、オフィスの労働者の数です。 Nの誕生日自体は(2月29無視する)1月1日から12月31日にランダムに一様に分布しています。 ただし、共有誕生日パーティーを決定するための稼働週は、2019-W01-1(2018-12-31)と2019-W52-7(2019-12-29)の間の2019 ISO週日です。新しいISO週が毎週月曜日に始まります。(これが、この課題のISO週間について本当に知っておく必要があるすべてだと思います)。 以下のためのNのオフィスの人々 、それぞれが持つ1/3の確率がある非常に怒っている 共有の誕生日パーティーのあなたもそれをシミュレートする必要がありますので、性格のタイプを。 しかし、パーティーが同じ誕生日を持っている人々と共有されれば、彼らは怒ることはありません。 非常に怒っている人の最初の発生に対して、ISO週番号(週番号が明確である限り、これの正確な形式は柔軟です)を出力します。怒っている人がいない場合は、ISOウィークと混同しないものを出力したり、プログラムでエラーが発生する可能性があります。 いくつかの単純化する仮定: 私が述べたように、2月29日問題を完全に無視してください(不要な複雑化) 祝日(これは国際社会なので祝日は異なります)を無視し、平日にオフィスが開いていると想定します。 ルール これはコードゴルフです。各言語のバイトでの最短の回答が勝ちます。デフォルトの抜け穴は禁止されています。 コードの説明を歓迎します。 実施例 入力N = 7の考案された例1。最初の列と2番目の列は規則で説明されているようにランダムです(もちろん、実際にはランダムではありません)。 Angry Type Person? Birthday ISO Week Comment ================================================================================ N 2018-12-31 W01 In the 2019 ISO week date year Y 2018-12-31 W01 Same birthday, …

24
乗法アンデルタ
値の「乗法デルタ」を定義してみましょう as:[a0、⋯ AN、][a0,⋯aN,][\; a_0, \cdots a_N, \;] [a1/ a0,⋯,ai+1/ai,⋯,aN/aN−1][a1/a0,⋯,ai+1/ai,⋯,aN/aN−1] [\; a_1 / a_0, \cdots, a_{i+1} / a_i, \cdots, a_N / a_{N-1} \;] 逆の演算、つまり「乗法アンデルタ」は、上記の演算が指定された値になるような値を返します。 例 与えられた値1、5、3、2「乗算アンデルタ」操作の一般的なソリューションは次のとおりです。[1,5,3,2][1,5,3,2][\; 1, 5, 3, 2 \;] [a0,a0⋅1a1,a1⋅5a2,a2⋅3a3,a3⋅2a4][a0,a0⋅1⏟a1,a1⋅5⏟a2,a2⋅3⏟a3,a3⋅2⏟a4] [\; a_0, \quad \underset{a_1}{\underbrace{a_0 \cdot 1}}, \quad \underset{a_2}{\underbrace{a_1 \cdot 5}}, \quad \underset{a_3}{\underbrace{a_2 \cdot 3}}, \quad \underset{a_4}{\underbrace{a_3 \cdot 2}} \;] …

11
運命の時計の針
あなたは椅子につながれています。あなたの下には巨大な火山があります。あなたの隣にある12時間の時計が不気味にカチカチと音を立てており、それは後ろから鎖に繋がるワイヤーを持っていることがわかり、地球の中心にあなたを落とします。時計にテーピングは注意です: 各時計の針には電極があります。両方の時計の針が同じ位置にあると、電力が流れて死んでしまいます。つまり、これが発生する正確な時間を、分単位で教えてください。 あなたはすべてのプログラミング言語を知っているコンピュータを持っています。あなたはできる限り短いプログラム(これはコードゴルフであり、標準の抜け穴は禁止されています)を作成し、邪悪な科学者に時間を教える必要があります。プログラムは、時間と分で構成される入力を(任意の方法で)受け取る必要があります。これが発生する次の時間と分を(任意のメソッドで)返す必要があります。 OEISページによると、11回のオーバーラップ時間は次のとおりです。 00:00:00 plus 0/11 s, 01:05:27 plus 3/11 s, 02:10:54 plus 6/11 s, 03:16:21 plus 9/11 s, 04:21:49 plus 1/11 s, 05:27:16 plus 4/11 s, 06:32:43 plus 7/11 s, 07:38:10 plus 10/11 s, 08:43:38 plus 2/11 s, 09:49:05 plus 5/11 s, 10:54:32 plus 8/11 s. 次回は12:00:00になります。秒とその小数部分は、この課題では必要ありません。単に最も近い分に丸めます。 テストケース: …
9 code-golf  date 

10
発生日
3つの非負の整数を考えるとy、m、およびd(うち少なくとも一つが正でなければならない)と正の年と有効な日付(年、月、日を含む任意の合理的な形式であり、追加情報なし)、出力元の日付からy年、m月、d日後の日付。 グレゴリオ暦はすべての日付に使用されます(グレゴリオ暦の採用前の日付も含みます)。 次の日付の計算方法は次のとおりです。 追加y年に m月に追加 ロールオーバーを適用して日付を正規化(例:2018-13-01-> 2019-01-01) 日が月の最終日を過ぎている場合は、月の最終日に変更します(例2018-02-30-> 2018-02-28)。 d日に追加 ロールオーバーを適用して日付を正規化(例:2019-01-32-> 2019-02-01) うるう年(4で割り切れる年。ただし、400で割り切れる場合を除き、100で割り切れない年)は、適切に処理する必要があります。すべての入力と出力は、言語の表現可能な整数の範囲内にあります。 テストケース テストケースは、JSONオブジェクトの形式input => outputで提供されinputます。 {"date":"2018-01-01","add":{"d":1}} => 2018-01-02 {"date":"2018-01-01","add":{"M":1}} => 2018-02-01 {"date":"2018-01-01","add":{"Y":1}} => 2019-01-01 {"date":"2018-01-30","add":{"M":1}} => 2018-02-28 {"date":"2018-01-30","add":{"M":2}} => 2018-03-30 {"date":"2000-02-29","add":{"Y":1}} => 2001-02-28 {"date":"2000-02-29","add":{"Y":4}} => 2004-02-29 {"date":"2000-01-30","add":{"d":2}} => 2000-02-01 {"date":"2018-01-01","add":{"Y":2,"M":3,"d":4}} => 2020-04-05 {"date":"2018-01-01","add":{"Y":5,"M":15,"d":40}} => 2024-05-11 このJSFiddleをテストに使用できます。 これはcode-golfなので、(各言語で)最短のソリューションが優先されます。
9 code-golf  date 

3
解釈された算術
あまり知られていない事実は、十分な言語拡張(ghc)をオンにすると、Haskellが動的に型付けされたインタープリター型言語になるということです。たとえば、次のプログラムは加算を実装しています。 {-# Language MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances #-} data Zero data Succ a class Add a b c | a b -> c instance Add Zero a a instance (Add a b c) => Add (Succ a) b (Succ c) これは本当にHaskellのようには見えません。オブジェクトを操作する代わりに、タイプを操作します。各番号は独自のタイプです。関数の代わりに、型クラスがあります。機能的な依存関係により、型間の関数として使用できます。 では、コードをどのように呼び出すのでしょうか。別のクラスを使用します class Test a | -> a where test …

2
パウダートイでのゴルフのヒント
これを楽しんでください。パウダートイは、特にフィルトロジックに関して、ゴルフにとって興味深い挑戦です。 TPTが課題となるのは、問題に取り組むための多くの方法です。 Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic? そのため、TPTゴルフのヒントの場所は非常に役立つので、この質問のスレッドを作成しました。 このスレッドは、多くの略語を使用する可能性があります。それらの多くはゲーム内の要素になるため、Wikiでそれらを検索すると、それらが何であるかなど、それらに関する多くの情報が表示されます。 以下は、このスレッドに表示される可能性が最も高いもので、検索に行きたくない人のために、ゲーム内の説明(およびフルネーム)が添付されています。 SPRK:電気。TPTのすべての電子機器の基礎は、ワイヤーおよびその他の導電性要素に沿って移動します。 FILT:フィルター。フォトンをフィルターし、色を変更します。 ARAY:レイエミッター。レイは、衝突したときにポイントを作成します。 BTRY:バッテリー。無限の電力を生成します。 DRAY:複製光線。その前にあるパーティクルのラインを複製します。 CRAY:パーティクルレイエミッタ。tmpによって設定された範囲で、ctypeによって設定されたパーティクルのビームを作成します。 SWCH:スイッチ。スイッチを入れたときにのみ導通します。(PSCNはオン、NSCNはオフ) すべての要素のリスト
9 code-golf  tips  the-powder-toy  code-golf  number  array-manipulation  integer  code-golf  string  decision-problem  boggle  code-golf  array-manipulation  average  code-golf  math  code-golf  decision-problem  restricted-source  code-golf  code-golf  math  primes  code-golf  random  code-golf  tips  perl  code-golf  string  parsing  code-golf  math  number  decision-problem  code-golf  math  number  code-golf  string  alphabet  code-golf  math  geometry  code-golf  interpreter  brainfuck  code-golf  code-golf  decision-problem  boggle  code-golf  math  number  sequence  code-golf  math  code-golf  ascii-art  code-challenge  restricted-source  quine  code-golf  math  decision-problem  number-theory  primes  code-golf  ascii-art  code-golf  integer  graph-theory  chess  code-golf  math  interpreter  code-golf  code-golf  code-golf  ascii-art  code-golf  arithmetic  number-theory  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  code-golf  primes  factoring  encode  code-golf  decision-problem  code-golf  geometry  grid  code-golf  quine  code-golf  matrix  code-golf  matrix  code-golf  code-golf  number  array-manipulation  code-golf  array-manipulation  sorting  code-golf  matrix  code-golf  brain-flak 

10
リストのリストのエントリを順番にステップ実行することによるタプル
チャレンジ: 空でない整数のリストのリストを指定すると、次の形式のタプルのリストを返します。最初のリストの各要素で始まり最初のリストのタプルの後に後続のすべてのリストの最初の要素が続くため、i番目のタプルはになります[ith element of first list, first element of second list, ... , first element of last list]。例えば: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] => [[1, 4, 7], [2, 4, 7], [3, 4, 7], ... 次に、フォームのタプルを実行する[last element of first list, ith element of second list, first element …

5
TwoMegaを解釈する
この課題では、あなたがのために通訳書き込みます2 Ω(として転写TwoMega)、ゆるくに基づく言語brainfuck無限次元の収納スペースとを。 言語 2 Ωは、状態の3枚が含まれています。 テープ全て0に初期化ビットの無限のリストである、それは、左端の要素、ない右端の要素を有しています。 メモリポインタテープの要素のインデックスである非負整数です。上位のメモリポインタは、さらに右側のテープセルを指します。0のメモリポインタは、左端の要素を参照します。メモリポインタは0に初期化されます。 ハイパーキューブ概念的であり、∞ハイパーキューブの幅はわずか2細胞にすべての次元で結合したが、寸法の無限の数を意味している0に初期化ビットを含む各々がセルの次元「ボックス」、細胞は数えられない。 ハイパーキューブへのインデックスは、ハイパーキューブ内のセルを参照するビットの無限リストです(ビットの有限リストを使用して有限次元のハイパーキューブを参照するのと同じ方法で)。テープはビットの無限リストであるため、テープ全体は常にハイパーキューブの要素を参照します。この要素は参照対象と呼ばれます。 2 Ωは、 7種類の文字に意味を与えます: < メモリポインタを1だけデクリメントします。0未満にデクリメントすることは未定義の動作であるため、処理する必要はありません。 > メモリポインタを1だけインクリメントします。 ! リファレントでビットを反転します。 . リファレントでビットを出力します。 ^テープ上のメモリポインターが指すセルのビットを、参照先のビットの逆に置き換えます。 [x]xリファレントのビットが1である限り、コードを実行します。 チャレンジ あなたの仕事は、文字列を入力として受け取り、その入力を2Ωプログラムとして実行するプログラムを作成することです。 これはcode-golfなので、有効な最短の回答(バイト単位)が優先されます。 ノート プログラムは文字のみで構成され、適切にネストされる<>!.^[]と想定でき[]ます。 インタプリタは、システムで利用可能なメモリによってのみ制限されるべきです。サンプルプログラムを妥当な時間で実行できるはずです。 サンプルプログラム 印刷1: !. 印刷010: .!.!. 永久に0を印刷します。 ![!.!] 永遠に0を出力します!。 [.]![!.!]

5
4つのらせん状の軸
数字0, 1, 2, 3, 4, ...を取り、それらを時計回りのらせん状に配置し、下から始めて、各桁を個別の正方形に書き込みます。 次に、軸を表す4つの異なる一貫したASCII文字(選択)の1つと、入力整数を指定して、対応する軸に沿って正方形を選択することにより、説明されたシーケンスのn最初のn項を出力します。 たとえば、以下は、の途中まで配置されたスパイラル29です。をu / d / l / r表す4つの文字にを使用するとしますup / down / left / right。次に、u入力として与えられ0, 5, 1, 4 ...、n次の項まで(正のy軸)を出力します。代わりにl入力として与えられた場合、それ0, 3, 1, 1 ...はnth項までになります。 2---3---2---4---2---5---2 | | 2 1---3---1---4---1 6 | | | | 2 2 4---5---6 5 2 | | | | | | 1 …

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