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

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

3
ASCIIアートベン図
重複する要素を含まない二つのリストを考えるaとb、二つのリストを出力ASCII-アートベン図間のクロスオーバーを見つけます。ベン図は、単純化のために従来の円の四角形バージョンを使用します。 例 与えられた: a = [1, 11, 'Fox', 'Bear', 333, 'Bee'] b = ['1', 333, 'Bee', 'SchwiftyFive', 4] 出力(ベン図が正しい限り、順序は100%任意です): +-----+----+-------------+ |11 |333 |SchwiftyFive | |Fox |Bee |4 | |Bear |1 | | +-----+----+-------------+ プログラムは、実装に応じて検討する'1' == 1か'1' != 1、検討します。また、すべてを文字列として扱い、文字列の入力のみを受け入れるように選択することもできます。 与えられた: a=[] b=[1,2,3] 出力(2つの空の部分にまだ右パッドスペースがあることに注意してください): +-+-+--+ | | |1 | | | |2 …

10
二乗オフ(可能な限り最小の四角に合わせる)
はじめに これはパディングを必要とし、入力のデータタイプが不明であるため、Aのテキストよりも複雑です。 Dyalog Ltd.は毎年学生コンテストを開催しています。そこでの課題は、優れた APLコードを作成することです。これは、今年の10番目の問題の言語に依存しないコードゴルフ版です。 コンテストの元の作成者から、ここにこのチャレンジを投稿する明示的な許可があります。提供されたリンクをたどり、作者に連絡して確認してください。 問題 与えられた文字列または数値リストを、入力のすべての要素を含む最小の正方形に再形成するプログラム/関数を記述し、必要に応じて追加の要素でパディングします。pad要素は、特定のデータ型のデフォルトのfill要素、または任意の1つの要素にする必要があります。正方形の要素は、それを平坦化すると入力データの元の順序が与えられるような順序でなければなりません(後続のパディング要素がある場合は、それも含みます)。 テストケース [1,2,3,4] → [[1,2], [3,4]] [1,2,3,4,5] → [[1,2,3], [4,5,0], [0,0,0]] "Dyalog APL" → [["Dyal"], [["D","y","a","l"], ["og A"], or ["o","g"," ","A"], ["PL "], ["P","L"," "," "], [" "]] [" "," "," "," "]] [100] → [[100]] [] → あなたの言語が空の行列に最も近いもの、例えば[]または[[]]

1
K平均クラスタ化ゴルフ
K平均クラスタリング(Wikipedia) ここでのタスクはかなり単純で、バイナリ行列でk平均クラスタリングアルゴリズムの単一の反復を実行します。これは基本的には主要なk-meansアルゴリズムのセットアップタスクであり、セットアップがより簡単で、ゴルフ言語を試してみることも魅力的だと感じました。渡されるマトリックスは次の形式になります。 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 …

30
私の番号はどのくらいですか:制限付きバージョン
ここで元の課題を見つけます チャレンジ Z範囲内の整数を指定すると、-2^31 < Z < 2^31その数値の桁数を出力します(基数10)。 ルール 文字列関数は使用しないでください(オーバーロードの場合、文字列関数と整数関数の両方として機能する関数に文字列を渡してはなりません)。数値を文字列として保存することはできません。 すべての数学関数が許可されます。 入力は任意の基数で取得できますが、出力は基数10の数値の長さでなければなりません。 負の数のマイナス記号は数えません。数値が10進数になることはありません。 ゼロは実質的に先行ゼロなので、ゼロまたは 1桁にすることができます。 例 Input > Output -45 > 2 1254 > 4 107638538 > 9 -20000 > 5 0 > 0 or 1 -18 > 2 勝利 バイト単位の最短コードが優先されます。

3
質量分析計を作ろう!
チャレンジ 有機分子の高解像度の分子量を考慮して、分子の分子式を出力します。 説明 入力は、小数点以下3桁の精度の単一の数値、つまり分子の相対分子量になります。 ここで、分子量は、化合物中の原子の質量の合計として定義されます。あなたは有機化合物の分子式を見つけるだけなので、知っておくべき原子質量は次のとおりです。 C、カーボン:12.011 H、水素:1.008 O、酸素:15.999 N、窒素:14.007 フォーミュラは、炭素、水素、酸素または窒素のみを含む必要があります。 式を書くとき、それは次の形式をとるべきです: CaHbOcNd 要素がこの順序でなければならない(ただしC -> H -> O -> N、そうC2O8N4H6でなければならないC2H6O8N4)とa、b、cおよびd分子内の先行する要素の数(すなわち、あるC2分子内に2個の炭素原子が存在することを意味します)。 場合a、b、cまたはdゼロであり、その要素は、(例えば、式中に含まれるべきではないC2H6O2N0でなければなりませんC2H6O2)。最後に、場合a、b、cまたはd一つであり、あなたは式(例えばに番号を含めるべきではありませんC1H4する必要がありますCH4)。 入力は常に有効です(つまり、その質量の分子が存在します)。入力があいまいな場合(複数の分子が同じ質量を持っている場合)、分子の1つのみを出力する必要があります。この分子の選び方はあなた次第です。 実施例 入力が180.156であるとすると、この分子量を持つことができる要素の組み合わせは1つだけです。 12.011*6 + 1.008*12 + 15.999*6 + 14.007*0 = 180.156 だからあります: 6カーボン 12水素 6酸素 0窒素 したがって、出力は次のようになります。 C6H12O6 その他の例 Input -> Output 28.054 -> C2H4 74.079 -> C3H6O2 75.067 …

13
線形方程式の係数を抽出する
線形方程式を考えるとmx+n、返すnとm。ただし、方程式は次のいずれかの形式になります。 5x+2 -> 5 2 5x-2 -> 5 -2 5x -> 5 0 -2 -> 0 -2 x -> 1 0 ここにフォーマットがあります、それぞれ?が先行ゼロなしで書かれた正の整数を表します ?x+? ?x-? -?x+? -?x-? x+? x-? ? -? ?x -?x x これらのケースはすべて処理する必要があります。 仕様: 方程式は上記の形式のいずれかであると想定できます。つまり、正規表現と一致し^(-?[123456789]\d*)?x([+-][123456789]\d*)?|-?[123456789]\d*$ます。 テストケース: -2x+3 -> -2 3 44x -> 44 0 -123 -> 0 -123 x …

3
これらのES6アロー関数をトランスパイルしてください!
ECMAScript 6標準は、新しいアロー関数表記を含む多くの新機能をJavaScript言語に追加しました。 あなたの仕事は、基本的なES6からES5へのトランスパイラーを作成することです。ES6の矢印関数のみを入力として、ES5互換の対応物を出力します。 それはコードゴルフです!バイトで最短のプログラムが勝ちますように! 基礎 アロー関数は次のようになります。 (a, b, c) => { return a + b - c } そして、同等のES5関数式は次のようになります。 function(a, b, c) { return a + b - c } 一般に、関数の本文(中括弧内のすべて)をそのままコピーできます。 暗黙の戻りステートメント 中括弧の付いたボディの代わりに、単一の式を使用できます。次に、この式の結果が返されます。 (a, b, c) => a + b - c function(a, b, c) { return a + b …
8 code-golf 

1
単位正方形のタイリング
バックグラウンド 用語を拡張およびキャンセルすることにより、次のアイデンティティを簡単に示すことができます。 ただし、すべての1 / n×1 /(n + 1)の四角形が単位正方形をタイリングできるかどうかは、未解決の問題です。 タスク プログラムは、任意の便利な方法で正の整数Nを入力として受け取り、1からNまでのすべての1 / n x 1 /(n + 1)の開いた長方形を1からNまでの単位正方形にパックします。 。 長方形ごとに、次の整数を順番に生成する必要があります。 水平エッジが垂直エッジよりも長い場合は1、それ以外の場合は0 左下隅のx座標の分子と分母 左下隅のy座標の分子と分母 単位の正方形をとし(0, 1) x (0, 1)、x値は左から右に、y値は下から上にあることに注意してください。 最終的に予期される出力は、任意の便利な形式(たとえば、stdoutに出力されるか、関数から返されるリストとして)で、各長方形のこれらの整数をnの昇順で連結したものです。 入力と出力の例 入力: 3 出力: 0 0 1 0 1 1 1 2 0 1 1 1 2 1 3 これは次のように解析されます。 0 (0/1, …

6
チャーリーと邪悪なハイフン
これが表音アルファベットです: Alfa Bravo Charlie Delta Echo Foxtrot Golf Hotel India Juliett Kilo Lima Mike November Oscar Papa Quebec Romeo Sierra Tango Uniform Victor Whiskey X-ray Yankee Zulu 可能な最小バイト数: 入力は、最初の文字が削除されたランダムな順序でこれらの単語になります。 あなたの目標は、現在持っている文字だけを使って単語を元の順序に戻すことです。言い換えると、「[A] lfa」が「[B] ravo」の前にくる方法などを調べます。コードは、元のリスト、インデックスキーなどを参照してはなりません。 各単語の最初の最初の文字を復元します。 ルール X線のハイフンはおそらく邪悪ですが、私も邪悪なため、とどまる必要があります。 結果は文字列(たとえば、カンマまたは改行で区切られた)または配列になります。 スペルと大文字小文字は交渉できません。 回答に出力例を示す必要はありません。

1
スノーブローマイドライブウェイ!
最近大雪が降りましたが、私道は雪が吹く必要があります。除雪機がすでに吹雪しているエリアを越えた場合、そのエリアには雪が吹き付けられ、再び吹く必要があります。そしてもちろん、除雪機は私道の真ん中で始めることはできません、それはそれが保管されている私のガレージから始める必要があります。 より正式には: プログラムは、標準形式の入力を、次のような文字列または多次元配列として受け取ります。 XXXXOOOOXXXX X X X X XXXXXXXXXXXX X吹雪不可Oエリア、除雪機設置可能エリア、空スペースは雪のあるエリア 必要に応じて、異なる値を選択できます。 プログラムは次のようなものを出力する必要があります。 XXXX*%OOXXXX Xv<<<^<<<<<X X>>>>>>>>>^X XXXXXXXXXXXX 除雪機はから始まり*ます。は*常に最も近い非ガレージスペースを指します。<、>、v、および^すべての次の方向がどこにあるのポインタを表します。彼らはどこに行くべきか除雪機を指しています。ポインターがをポイントする%と、送風機がガレージに再到着し、私道全体がきれいになります。 除雪機は私道全体を越えなければなりません。除雪機の経路が重なることはありません。不可能な入力を与えてはなりません。 必要以上に長く外に出たくなく、タイピングに多くの時間を費やす必要がないため、プログラムはできるだけ短くする必要があります。最短のコードが勝ちます! テストケース: これらのテストケースには、複数の正解がある場合があります。各テストケースの下に可能な解決策を示しました。 テストケース1:例で示したもの。 テストケース2: XOOOOOX X X X X X XXXXXXXX X X X X XXXXXXXXXXXXXX X*OOO%X Xv>>>^X Xv^<<<X Xv>>>^XXXXXXXX Xv^<<<<<<<<<<X X>>>>>>>>>>>^X XXXXXXXXXXXXXX テストケース3: XOOOOX X X X X X XXX …

21
ストライピングを削除してください![閉まっている]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 あなたは、適切な協力者の責任を負うように努力します。 交換ランダム(uNifoRm、50%変更されたUPCERCASE)を使用したイテレーターのトラブルシューティング それでおしまい。 (句読点でごめんなさい、それは質問の概念のためでした) 読みやすいバージョン: 印刷可能なASCII文字で構成される文字列が与えられます。 文字列を繰り返し処理し、ランダム(均一、50%の確率で大文字)の文字を大文字に、その他すべてを小文字に変更します。 それでおしまい。 exaMplEs iNpuT => pOssiBle oUtPUt Programming puzzles and Code Golf => pRogRaMMiNg pUzzlEs aNd coDe goLf dErpity deRp derP => deRpiTy dErp DerP CAAAPSLOOOCK => cAAapslOoocK _#$^&^&* => _#$^&^&*

15
コッツを送ってください!
モデレーターと編集者への注意:この投稿のタイトルは有効であり、変更しないでください。スペルミスは意図的なものであり、課題の一部です。 バックストーリー (ステレオ)典型的な悪いSOの質問は、「plz send teh codez!」の流れに沿って何かを尋ねます。言い換えれば、それは誰かに依頼者のために仕事をして、一度きりの問題に対する完全な解決策を提供するように頼みます。Meta.SEでこの質問を引用します。 ...特定のカテゴリーの質問についての調査であり、調査や努力は一切必要ありません。問題の完全な解決策を求めるだけです。これらのタイプの質問は、一般にStack Overflowが無料のコーディングサービスであると想定する傾向があります... では、実際の課題は何ですか?それは簡単です: プログラムまたは関数などは、入力を文字列(STDIN、パラメーターなどから)として受け取る必要があり、文字列にPlz send teh codez!出力が含まれている場合-1 flag comment(反対投票、オフトピックとしてフラグを付け、質問の悪さについてのコメント)。それ以外の場合は出力+1(あなたは賛成しています)。 しかし、待ってください…もっとあります! プログラムには、以下の文字セットを5つ以上含めることはできません。 すべての特殊文字(スペース、改行(0x0a)、大文字と小文字を区別しないアルファベット、数字以外) 任意の数字(0-9) いずれかpzcm(大文字と小文字を区別しない) いずれかhten(大文字と小文字を区別しない) のいずれか qwryuioasdfgjklxvb のいずれか QWRYUIOASDFGJKLXVB 明確にするために、使用できる文字セットは4つまでです。 スペース、タブ、改行は一切制限されていませんが、バイト数には含まれています 最終的な制限 プログラムには、(スペース)から(〜)の範囲のUnicode のみ、および(LF改行)と(タブ)を含める必要があります。これは、コードゴルフ言語を除外し、伝統的な言語に変化を与えるか、少なくとも競技場を平準化するためです。0x200x7e0x0a0x09 ノート: これはcode-golfであり、バイト単位の最短の回答が勝ちます! 入力は、STDIN、関数パラメーター、コマンドラインパラメーターなどから取得できますが、変数からは取得できません。 出力は、STDOUT、関数の戻り値、またはエラー/例外である可能性があります。末尾に改行を含めることができます。 この課題は、高度なUnicode文字を除外することにより、多くのゴルフ言語を禁止しているため、伝統的な言語の競争が奨励されています。Cは勝つチャンスさえ持っているかもしれません! 質問は?以下のコメント! 難しすぎると… 回答の文字セットは無視できますが、その場合は競合しなくなります。 注:最大4つの文字セットを使用できるようになりました。どういたしまして。 このスニペットを使用して、コードが有効かどうかを確認できます。 コードスニペットを表示 let f = code => { let sets = …

3
このサイコロゲームを公正にする
この課題は、英国情報学オリンピックから採用されました。 サイコロゲーム 2人のプレイヤーがサイコロゲームをプレイし、それぞれが1対のサイコロを振って、最高額が勝ちます。サイコロのペアは同じ数の辺を持っていますが、各辺で同じ値を持っている必要はありません。したがって、両方のサイコロのペアについてすべての可能な合計が等しい確率で作成できる場合、ゲームは公平です。 たとえば、プレーヤー1に次のダイスがあるとします。 {1,2,3,4,5,6} {1,2,3,4,5,6} 次に、次の合計を生成できます。 1 2 3 4 5 6 +------------------ 1| 2 3 4 5 6 7 2| 3 4 5 6 7 8 3| 4 5 6 7 8 9 4| 5 6 7 8 9 10 5| 6 7 8 9 10 11 6| …
8 code-golf 

3
対称多項式を検出する[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 対称多項式は、その変数の置換の下で変化しない多項式です。 言い換えれば、多項式f(x,y)は、次の場合にのみ対称ですf(x,y) = f(y,x)。多項式g(x,y,z)は対称iff g(x,y,z) = g(x,z,y) = g(y,x,z) = etcです。 たとえばx^2+2xy+y^2、xyとx^3+x^2y+xy^2+y^3は対称多項式ですが2x+y、とx^2+yはそうではありません。 チャレンジ 多項式が与えられ、与えられた多項式が対称多項式であるかどうかに応じて、プログラムは真偽値を出力します。 入力形式は2つの方法で使用できます。文字列とのような配列。["x^2","2xy","y^2"]ここで、多項式は各要素の合計です。 例 x^2+2xy+y^2 => true xy => true xy+yz+xz-3xyz => true (x+y)(x-y) => false 2x+y => false x^2+y => false x+2y+3 => false スペック 演算には、通常の数学と同じように次数があります。順序は次のとおりです。 () => ^ => * => +- コードゴルフのルールが適用されます。 …

2
画像領域の数を数える
あなたの目標は、5つの正の整数と画像ファイル名を含む文字列を[X1,Y1], [X2,Y2], N, image.jpg適切な形式で入力として受け取る完全なプログラムまたは関数を記述することです。ここで、 最初のカップル[X1,Y1]は、左上のX、サンプル画像()の青い長方形領域のY座標(<=20)です16,11。 第二のカップルが[X2,Y2]右下ありX、Y座標(<=20例えば、画像内の青い矩形領域の)( 20,22)。 Nそのような5番目の数0 <= N <= 9は、見つけなければならない数です。 6番目のパラメータは、このJPG画像のファイル名を含む文字列です。 N指定された領域に存在するの数を出力します(この例では、図で青で囲まれています)。 同じ画像のより大きなクリーンバージョンを取得するには、ここをクリックしてください。 画像内から500個の番号がある0と9(含まれる)等幅で、25行当たり20 columnnsに配置されCourier Newたフォント。それぞれの数字は異なる色を持っています(この事実を利用するか、それを無視して、イメージがモノクロームであるかを検討または変換することができます)。 テストケース: [4,4],[13,5],1,image.jpg > 4 (outlined in red) [4,4],[13,5],4,image.jpg > 2 (outlined in red) [17,5],[17,5],2,image.jpg > 1 (outlined in magenta) [17,5],[17,5],9,image.jpg > 0 (outlined in magenta) [20,8],[20,9],3,image.jpg > 1 (outlined in cyan) [20,8],[20,9],2,image.jpg …

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