プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

2
ラザニアを確認する
シナリオ 私はよくラザニアを調理しますが、いくつかの間違いもあります。私はこれらの障害を頻繁に繰り返すので、すべてを正しく行ったかどうかをチェックするプログラムを実行できると思いました。 有効なラザニア 有効なラザニアは 少なくとも5列幅 少なくとも4層の高さ 余分なチーズを除く 最上層はチーズ( ,) 2番目の層はソースです(@またはで表されます#) その後、層が交互になります(1層のソース、1層の麺(~またはで表されます-)) 各列には、1層または2層のチーズを入れることができます プログラム すべき 入力としてラザニア文字列を取ります 複数行の文字列 文字列配列 文字列には文字のみが含まれます ,@#~- 長方形 必要に応じてスペースを埋めます 有効なラザニアかどうかを出力します 有効であればあなたの言語で通用するもの あなたの言語で偽物は何もない どちらか 完全なプログラム 機能 14.12.2016より前に実装された機能のみを使用する テストケース ,, , ,,,,,, @@@### ~~~~~- @##@@# --> truthy @@@# ---- @@## ---- @### --> falsy (cause of cheese and width (You …

3
ゴルフ小数
あなたの目標は、入力分数に対して最短の一意の10進数シーケンスを出力するコードを記述することです。同じ分母を持つ2つの分数が同じ出力を持つことはありませんが、異なる分母を持つ分数が同じ表現を持つことは可能です。 入力として2つの整数を取ります。1つ目は分子、2つ目は分母です。 例えば: n d output ----- ------ 0 13: 0.00 1 13: 0.07 2 13: 0.1 3 13: 0.2 4 13: 0.30 5 13: 0.38 等 3/13で始まる13の分母を持つ唯一の分数である0.2ため、それ以上の数字は必要ありません。4/13そして、5/13で始まる、両方の0.3別の数字を区別するために必要とされるように、。 あなたの出力よりも-1より大きい数字と1未満のゼロの有無にかかわらずどちらか小数点の前に、長い出力が一貫している限り、すなわちかもしれない0.5と.5同じ数であり、両方とも有効です。他の先行ゼロは許可されません。出力を別の値と区別する必要がある場合は、後続ゼロを表示する必要があります。 数字をゼロから四捨五入することはできません。それらは切り捨てられなければなりません。先頭または末尾にスペースがあってはなりません。オプションで、単一の末尾の改行がある場合があります。 その他のテスト値: n d output ---------- ------ 0 1: 0 (this 0 may not be removed because there's no decimal point) …

6
ブリッジはASCIIアートのすべての比metaです
(タイトルについてジムウェストに謝罪し、ロゴのシスコのテキスト表現にランダムに触発されました: .:|:.:|:. コンセプトのため) 入力整数を指定する1 <= n <= 255とn、以下の構成規則に従って距離の吊り橋のASCIIアート表現を出力します。 橋の始点と終点(n距離には含まれません)は常に-|と|-であるため、橋はその隣の高速道路に適切に接続できます。 橋は下に伸びていません(-列で構成されている道路レベルは下の列です)。 道路部分--は最大で2つまで連続して配置できますが、それより長いスパンをサポートするにはサスペンションケーブルが必要です。 サスペンションケーブル\は、道路からタワー|まで直線で延びています。 タワー|は、隣接するサスペンションケーブルを支えるのに十分な高さでなければなりませんが、高くはなりません。 ブリッジは、可能な限り中央セクションを優先して、中間点を中心に左から右にバランスを取る必要があります。 上記のすべてがケーブルの最小化をもたらすはずですが、ただ明確にするために、上記の規則を引き続き守りながら、吊り下げケーブルの数を最小限にしなければなりません。 視覚的な表現を提供するために、期待される出力は次のとおりですn = 1, 2, 3, ... 15- 1 -|-|- 2 -|--|- 3 -|\-/|- 4 -|\--/|- 5 |\ /| -|-\-/-|- 6 |\ /| -|-\--/-|- 7 |\ /| | \ / | -|--\-/--|- 8 |\ /| | …

4
PPCGクロースがプレゼントを届けるのを手伝ってください!
PPCGクロースがプレゼントを届けるのを手伝う 概要 PPCGクラウスはプレゼントを届けるのが遅くなりました。最近は奇妙な小さな子供がたくさんいるからです。これにより、PPCG Clausがすべてのプレゼントを正しい場所に届けることがはるかに難しくなります。あなたの課題は、彼がプレゼントを正しく提供するのを助けることです。 複雑さ 彼が配達することになっている子供を表す大文字の名前のリストと数字で表されたプレゼントのリストを考えると、あなたはその子供たちにプレゼントを配布する方法を理解しなければなりません。もちろん、キャッチもあります。 子供たちが奇妙な仲間(最初のイニシャルはASCIIコード奇数)である場合、彼は奇妙な贈り物を望んでいます!彼が偶数である場合(最初のイニシャルはASCIIコードでも)、明らかに彼は偶数を与えられなければなりません!ただし、3で割り切れる子はいたずらで、いたずらな若者なので、PPCGクラウスは来年行動させるためにそれらを完全に無視しなければなりません。彼のルートを成功と見なすには、すべてのプレゼントを彼らに値するすべての子供に届けなければならず、一人の子供にあまりにも多くのプレゼントを与えてはなりません。子どもたちが仲間よりも3つ以上のプレゼントを受け取った場合、来年はいたずらな子どもになるリスクがあり、それは正しくありません!また、善良な子供が別の善良な子供が受け取らなかったときにプレゼントを受け取る場合、それはその子供を悪に変えることにもなります。 例 子供たちは次のとおりです。 Kids = ["Amy", "Betty", "Clyde", "Dave", "Francine"] = [A,B,C,D,F] = [65,66,67,68,70] ベティは人類の悩みの種であり、明らかに数字3が付いています。 エイミーとクライドは誕生以来変人であり、プレゼントさえも受け取りたくない。 デイブとフランシーヌは子供でも普通です。彼らはプレゼントさえも受け取るべきです! プレゼントは次のとおりです。 Presents = [1,2,3,4,5,6,7,8,9,10,11,12,13,14] 可能な出力は次のとおりです。 [ ['Amy',[1,3,5]], ['Betty',[]], ['Clyde',[7,9,11,13]], ['Dave',[2,4,6,8]], ['Francine',[10,12,14]] ] 例外シナリオ しかし、PPCG Clausが準備ができて喜んでいるからといって、PPCG Clausができるというわけではありません。以下は、PPCG Clausへの悪いニュースを次のメッセージで伝える必要がある例外シナリオのリストです。 PPCGmas is cancelled! 次のシナリオでは、クリスマスがキャンセルされます。 子供はいない。 [],[1,2,3] -まあ、彼らはデド。 良い子はいない。 ["Betty"],[1,2,3] -真剣に、ベティをねじ込みます。 …

3
Dobble / SpotItカードジェネレーター
前書き Dobble / SpotItは、最短時間でペアのカードに同じシンボルを見つけ、それを示し、次のペアに移動するカードゲームです。各カードには複数のシンボル(通常バージョンでは8)がありますが、各ペアのカード間で正確に1つのシンボルが共通しています。 ゲームの物理コピーの例: チャレンジ 単一のカードに一連の記号(単一のASCII文字)と記号の数を指定して、各カードの記号を含む出力リストカードを作成するプログラムを作成します。明らかに多くの同等の組み合わせがあります。プログラムは、指定された入力に対して最大量のカードを生成する組み合わせのいずれかを記述する必要があります。 それはコードゴルフですので、コードが短いほど良いです。 最も複雑なケースで、宇宙の熱死の前に計算が終了することも素晴らしいことです。 入力 function / stdinへの2つの引数(選択) それらの最初は、 'ABCDE'や['A'、 'B'、 'C​​'、 'D'、 'E']のようなシンボルのコレクションです-あなたが選択したフォーマット、文字列、セット、リスト、ストリーム、または選択した言語の慣用的なもの。文字は[A-Za-z0-9]のセットから与えられ、重複はありません(したがって、入力シンボルセットの最大サイズは62です)。これらは必ずしも順序付けられません( 6シンボルの場合にも「yX4i9A」を取得できます)。 2番目の引数は整数で、単一のカードのシンボルの量を示します。シンボルセットのサイズよりも<=になります。 出力 改行で区切られた複数の行を印刷します。各行には単一のカードのシンボルが含まれます。 例 ABC 2 >>>> AB BC AC または ABCDEFG 3 >>>> ABC BDE CEF BFG AEG CDG ADF または ABCDE 4 >>>> ABCD ヒント 作成されるカードの数は、個別のシンボルの量より多くすることはできません。多くの組み合わせでは、かなり小さくなります 問題の数学の側面で助けが必要な場合は、いくつかの数学の背景を読みたいかもしれません これは私の最初のコードゴルフチャレンジですので、フォーマット/スタイルに関する問題の可能性をご容赦ください-コメントで指摘した場合は、エラーを修正しようとします。

2
順列と一致します!
あなたの課題は、それ自体のすべての文字列の置換に一致する正規表現を作成することです。また、大文字と小文字を区別する必要があります。 したがって、たとえば、正規表現が次の場合: ABC これらの文字列と一致する必要があります(一致するだけです)。 ABC ACB BAC BCA CAB CBA 次のようなものと一致しないはずです。 AABC (contains an extra A) ABCD (contains an extra D) AC (no B) AAA (no B and C, extra 2 A's) abc (case-sensitive) ルール: 任意の種類の正規表現を使用できます。 標準の抜け穴が適用されます。 コードには少なくとも2つの異なる文字が必要です。つまり、次のようなソリューション1は無効です。 正規表現には、印刷可能なASCIIのみを含める必要があります。

9
すべてのゼノドローム
前書き ベースにxenodrome Nベースでその数字の全ての整数であり、nが異なっています。ここ xenodromesの一部OEIS配列です。 例えば、ベース16に、FACE、42およびFEDCBA9876543210いくつかのxenodromes(されている64206、66及び18364758544493064720基部10に)、しかし11とDEFACEDされません。 チャレンジ 入力ベースnを指定すると、ベース10のそのベースのすべてのゼノドロームが出力されます。 出力は、最小から最大の順にする必要があります。シーケンス内の用語がどこで終了し、新しい用語がどこから始まるかが明確である必要があります(例:[0, 1, 2]どこ012がそうでないかが明確です)。 nは0より大きい整数です。 明確化 このチャレンジは、整数とそのベースを文字列として処理することを避けるために、特にベース10でIOを実行します。課題は、ベースを抽象的に処理することです。そのため、この追加ルールを追加しています。 整数は、基数10以外の基数に文字列として保存できません。 言語の実装に時間、メモリ、精度、またはその他の技術的な制限がない場合、プログラムは理論的にかなり高いnを処理できる必要があります。 これはcode-golfであるため、バイト単位の最短プログラムが勝ちます。 入力と出力の例 1 # Input 0 # Output 2 0, 1, 2 3 0, 1, 2, 3, 5, 6, 7, 11, 15, 19, 21 4 0, 1, 2, 3, 4, 6, 7, 8, 9, 11, …

19
最短コナミコード
問題 実行時にコナミコードを入力すると、文字列「+30 lives」がれ、コンピューターのスピーカーから選択したノイズが聞こえるます。 定義 「コナミコード」は次のように定義されています UUDDLRLRBA、Enterキーを押すことでます。 ルール コードが矢印または文字と一致している限り、上矢印U、下矢印D、左矢印L、右矢印の使用を選択できますR。 入力はコントローラーまたはキーボードから受け入れられますが、両方をサポートする必要はありません。 既存の回答はのBABA代わりに引き続き使用できますがBA、必要に応じて短縮することもできます。BA一貫性のために、将来の回答はすべて使用する必要があります。 空の入力をサポートする必要はありません。

16
関係が推移的かどうかを判別
チャレンジの説明 いくつかの定義から始めましょう: 関係は、要素の順序対の集合である(この課題では、我々は整数を使用することがあります) たとえば[(1, 2), (5, 1), (-9, 12), (0, 0), (3, 2)]、関係です。 関係は、要素の任意の2つのペアに対して推移的と呼ばれ(a, b)、(b, c)この関係で、ペアが(a, c)また存在し、 [(1, 2), (2, 4), (6, 5), (1, 4)]それが含まれているため、推移的である(1, 2)と(2, 4)、しかし、(1, 4)同様に、 [(7, 8), (9, 10), (15, -5)]任意の二つのペアが存在しないため、推移的であり (a, b)、(c, d)本ようb=cです。 [(5, 9), (9, 54), (0, 0)]は推移的では(5, 9)あり(9, 54)ません。(5, 54) 整数のペアのリストを指定して、関係が推移的かどうかを判断します。 入出力 合理的な形式の整数のペアのリストが提供されます。関係を考える [(1, …

21
暗号を生成する
番号と文字列を指定して暗号を生成します あなたの仕事は簡単です。与えられた文字列sと数字0 <= n <= 9入力としてを指定し、文字列の各文字の間に擬似ランダムの印刷可能なASCII文字を挿入しますn。各文字のためにこのようなことsがありn、それらの間のランダムな文字が。スペースは削除する必要があります。 入力: ストリング s暗号で暗号化するフレーズ nの範囲の整数0 <= n <= 9 例: 入力: The treasure is here 2 出力: T!0 h 32 e F4 t 0i r lk e hm a 7y s#0 u *&r * h e!2 i H ^ s B、h!@ e 0)r $ h …

10
CSVを表に変換
チャレンジ CSV入力が与えられたら、ボックス文字を使用して適切なUnicodeテーブルを出力します。 書式設定 テーブルは、次のルールを使用してフォーマットされます。 列幅はその列の最長値に等しくなります すべてのテーブルデータは左揃えになります 各テーブルでは、最初のcsv行がヘッダーであると想定されます テーブルでは、境界に次の文字が使用されます。 ┌ ┬ ┐ ├ ┼ ┤ └ ┴ ┘ ─ │ 例 Input: Name,Age,Gender Shaun,19,Male Debra,19,Female Alan,26,Male George,15,Male Output: ┌──────┬───┬──────┐ │Name │Age│Gender│ ├──────┼───┼──────┤ │Shaun │19 │Male │ │Debra │19 │Female│ │Alan │26 │Male │ │George│15 │Male │ └──────┴───┴──────┘ ルール 標準的な抜け穴が適用されます 完全なプログラム、関数、またはラムダを提出できます 入力は、ファイル、プログラム引数、または任意の受け入れ可能な代替からのものです。 …

23
多項式上の点での変化率を見つける
多項式とx座標の方程式が与えられると、曲線上のそのx座標でのポイントの変化率を求めます。 多項式の形式は次のとおりです:ax n + ax n-1 + ... + ax 1 + a、ここでa ϵ Qおよびn ϵW。このチャレンジの場合、n xがない特別なケース(定数)に対処する。 そのx座標での変化率を見つけるには、多項式の導関数を取得し、x座標にプラグインします。 入力 多項式は任意の合理的な形式で使用できますが、その形式が明示的に何であるかを述べる必要があります。たとえば、フォームの配列[..[coefficient, exponent]..]は受け入れ可能です。 出力 指定されたx座標でのポイントの変化率。 これはcode-golfなので、バイト単位の最短コードが優先されます。 例 [[4, 3], [-2, 4], [5, 10]] 19 -> 16134384838410 [[0, 4]] 400 -> 0 [[4, 0], [5,1]] -13 -> 5 [[4.14, 4], [48, 2]] -3 …

7
回文を作成するための最小限の挿入
今日は、別の回文チャレンジを行います! したがって、今日のタスクは、文字列を取得し、それを回文に変換するために挿入するのに必要な文字の最小量を決定することです。 たとえば、文字列を取りましょうfishes。 この場合、最善の方法はを追加することh ifであるため、結果は3になります。 fishe s h if --------- fishehsif で試してみましょうcodegolf。が繰り返されているのでo、次のことができます。 codeg o lf fl ed c ------------- flcodegedoclf 5の結果を取得します。 テストケース ppcg -> 2 codegolf -> 5 palindrome -> 9 stackexchange -> 8 programmingpuzzlesandcodegolf -> 20

2
幽霊とカボチャ
これは、Jack-o-Lanternに刻まれたASCIIカボチャです。可愛いじゃない? ((^v^)) これがASCIIゴーストです。それがいかに不気味か見てください! \{O.O}/ 明らかに、カボチャは、腐らないように隙間を空けて地面に置かなければなりません。 しかし、幽霊はカボチャの上に立つのが好きなので、彼らはさらに不気味です。しかし、彼らは2つのカボチャの上に立たなければなりません。しかし、幽霊が下のカボチャまたは下の幽霊に均等に分割されている場合、幽霊の魔法の仕組みにより、複数の幽霊がカボチャを積み重ねて共有することができます。つまり、人間のピラミッドのような形状を形成するます。ゴーストは、下にカボチャがない限りゴーストにスタックできないことに注意してください(これが魔法の仕組みです)。 ホストの数を表す2つの非負整数、gおよびが与えられ、pgpカボチャの、上記のピラミッドスタッキングルールに従って、可能な限り最もコンパクトな左端のフォーメーションを出力します。残ったカボチャとゴースト(つまり、ピラミッドを形成していないもの)は、地面を右に進みます。 明確にするために、これらのフォーメーションは問題なく(空白の改行で区切られています)、I / Oの例として機能します。 0p 1g \{O.O}/ 1p 0g ((^v^)) 1p 1g ((^v^)) \{O.O}/ 2p 1g \{O.O}/ ((^v^)) ((^v^)) 2p 2g \{O.O}/ ((^v^)) ((^v^)) \{O.O}/ 3p 1g \{O.O}/ ((^v^)) ((^v^)) ((^v^)) 3p 2g \{O.O}/ \{O.O}/ ((^v^)) ((^v^)) ((^v^)) 3p 3g \{O.O}/ \{O.O}/ \{O.O}/ ((^v^)) …

6
ハロウィンの準備をしましょう
私はあなたのすべてについて知りませんが、私はハロウィーンの準備をしていません。 彼女は自分が持っているキャンディのブランドを把握するのに助けが必要ですが、彼女はハロウィーンの前に終わらせることができないほど多くのキャンディを持っています。 彼女が持っている: スニッカーズ キットカット スターバースト グミベアーズ トウィックス 入力 文字とスペースのみを含む複数行の文字列(またはその他の合理的な形式)。 出力 有効なキャンディーでない場合は偽の値、キャンディーである場合はどのキャンディーであるか。 キャンディーの決め方 上記のブランドのいずれかが記載されている場合、キャンディーは有効です。ただし、これは有効なキャンディーであるため、それほど単純ではありません。 K i t K a t 有効なキャンディーは次のとおりです。 文字は左から右の順に並んでいます 文字は正しく大文字になります 文字は、左から右に向かって、昇順も降順もしません 上記のブランドのいずれかから空白が削除された文字 これはcode-golfなので、バイト単位の最短コードが勝ちです! 例 真実: 1. kers c i n S 2. Kit K a t 3. St a r b u r st 4. Bear s …
15 code-golf  string 

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