問題タブ [rosetta-stone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bytearray - 配列検索コードの課題
これが私の (コード ゴルフ) 課題です。2 つのバイト配列を取得し、2 番目の配列が最初の配列の部分文字列であるかどうかを判断します。そうである場合、2 番目の配列の内容が最初の配列に現れるインデックスを出力します。最初の配列で 2 番目の配列が見つからない場合は、-1 を出力します。
入力例: { 63, 101, 245, 215, 0 } { 245, 215 }
期待される出力: 2
入力例 2: { 24, 55, 74, 3, 1 } { 24, 56, 74 }
期待される出力 2: -1
編集: bool は冗長であると誰かが指摘しているため、関数が行う必要があるのは、値のインデックスを表す int を返すか、見つからない場合は -1 です。
language-agnostic - コードゴルフ:波
チャレンジ
入力文字列からウェーブを生成するための文字数による最短のコード。
波は、高い文字を上げる(line-1)、低い文字を下げる(line + 1)ことによって生成されます。等しい文字が同じ行に保持されます(昇格または降格は行われません)。
入力は小文字と数字のみで行われ、文字は数字よりも大きいと見なされます。
テストケース:
コードカウントには、入力/出力(つまり完全なプログラム)が含まれます。
math - Code Golf: 数式評価器 (PEMDAS を尊重)
正規表現、既存の「Eval()」のような関数、解析ライブラリを使用せずに、PEMDAS (演算の順序: 括弧、べき乗、乗算、除算、加算、減算) を尊重する数式評価器を作成するようにあなたに挑戦します。など
SO に関する既存のエバリュエーター チャレンジが 1 つ見られましたが (こちら)、特に左から右への評価が必要でした。
入力と出力の例:
私は C# でエバリュエーターを書きましたが、選択した言語でより賢いプログラマーのエバリュエーターと比べてどれほど悪いかを知りたいと思います。
関連している:
説明:
これを、文字列の引数を受け取り、文字列の結果を返す関数にしましょう。
正規表現がない理由については、まあ、それは競技場を平準化するためです。「最もコンパクトな正規表現」には別の課題が必要だと思います。
StrToFloat() の使用は許容されます。「解析ライブラリ」とは、汎用の文法パーサーなどを除外し、公平な競争条件を提供することを意味していました。
フロートをサポートします。
括弧、累乗、および 4 つの算術演算子をサポートします。
掛け算と割り算を同等に優先します。
加算と減算を同等に優先します。
簡単にするために、すべての入力が整形式であると仮定することができます。
関数が「.1」や「1e3」などを有効な数値として受け入れるかどうかについては好みはありませんが、それらを受け入れるとブラウニー ポイントが獲得できます。;)
ゼロ除算の場合、おそらく「NaN」を返すことができます (エラー処理を実装したい場合)。
code-golf - Code Golf: 正規表現を使用しない電子メール アドレスの検証
(編集: Code Golf とは: Code Golf は、特定の問題を特定の問題を解決するための課題であり、文字数に応じて任意の言語で特定の問題を解決します。 詳細については、Meta StackOverflow を参照してください。)
コード ゴルファーの皆さん、文字列操作の課題です。
Email Address Validationですが、もちろん正規表現 (または同様の解析ライブラリ) はありません。メールアドレスについてはそれほど重要ではありませんが、以下に示すさまざまな文字列操作と制約をどれだけ短く記述できるかが重要です。
ルールは次のとおりです (はい、これは RFC に準拠していませんが、このチャレンジの 5 つのルールになります)。
@ の前に、このグループから少なくとも 1 文字:
/li>@ は必ず 1 回だけ存在する必要があります
/li>ピリオド (.) は @ の後に 1 回だけ存在する必要があります
/li>@ とそれに続く の間に少なくとも 1つの [AZ, az] 文字のみ。(限目)
/li>最後の. 限目
/li>
メソッド/関数のみを投稿してください。これは、文字列 (提案された電子メール アドレス) を受け取り、有効 (true) または無効 (false) である電子メール アドレスに応じて、ブール値の結果 (true/false) を返します。
幸運を!
language-agnostic - コード ゴルフ: 7 つのセグメント
チャレンジ
指定された 16 進数の 7 セグメント表示表現を生成するための、文字数による最短コード。
入力
入力は、数字 [0-9] と、大文字と小文字の両方の 16 進文字 [a-fA-F] のみで行われます。特別なケースを処理する必要はありません。
出力
出力は、これらのASCIIフェースを使用して、入力の 7 セグメント表現になります。
制限
次の使用は禁止されています: eval、exec、system、figlet、toilet、および外部ライブラリ。
テストケース:
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
language-agnostic - コードゴルフ:ディシジョンツリー
Google Code Jam 2009のラウンド1Bには、決定木と呼ばれる問題があり、かなり創造的な解決策になりました。
最短の解決策を投稿してください。この問題を解決するためだけに新しい言語を作成したのではないと仮定して、受け入れられた回答を現在の最短のエントリに半頻度で更新します。:-P
現在のランキング:
- 107 Perl
- 121 PostScript(バイナリ)
- 132ルビー
- 154アーク
- 160 PostScript(ASCII85)
- 170 PostScript
- 192 Python
- 196 JavaScript
- 199 Common Lisp
- 212 LilyPond
- 273スキーム
- 280 R
- 281 sed w / bc
- 312 Haskell
- 314 PHP
- 339 m4 w / bc
- 346 C
- 381Fortran _
- 462 Java
- 718 OCaml
- 759 F#
- 1554 sed
- C++は今のところ修飾されていません
language-agnostic - コードゴルフ:レーザー
チャレンジ
ボードの 2D 表現を入力し、入力に応じて「true」または「false」を出力する文字数による最短コード。
ボードは 4 種類のタイルで構成されています。
レーザーとターゲットは 1 つだけです。壁は、レーザーとターゲットが内部に配置される、任意のサイズのしっかりした長方形を形成する必要があります。「部屋」内の壁が可能です。
レーザー光線は発射され、その原点から指している方向に移動します。レーザー光線が壁に当たると止まります。レーザー光線がミラーに当たると、ミラーが指す方向に 90 度跳ね返ります。ミラーは両面です。つまり、両面が「反射」し、光線を 2 つの方法で跳ね返すことができます。レーザー光線がレーザー ( ^v><
) 自体に当たると、それは壁として扱われます (レーザー ビームはビーマーを破壊するため、ターゲットに当たることはありません)。
テストケース
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
language-agnostic - コードゴルフ:ビーハイブ
チャレンジ
ユーザー入力からビーハイブを生成する、文字数別の最短コード。
蜂の巣は、ユーザーがゼロより大きい 2 つの正の数として入力したサイズの六角形のグリッドとして定義されます (入力を検証する必要はありません)。最初の数字 ( W
) は、蜂の巣の幅、または各列にある六角形の数を表します。2 番目の数字 ( H
) は、蜂の巣の高さ、または各列にある六角形の数を表します。
1 つの六角形は、3 つの ASCII 文字 ( _
、/
および\
、および 3 行)から作成されます。
六角形は互いに補完します。蜂の巣の最初の列は「低く」なり、2 番目の列は高くなります - 同じパターンで交互に繰り返され、W 六角形を形成します。これを H 回繰り返して、合計 WxH の六角形を形成します。
テストケース:
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
language-agnostic - コードゴルフ:音符
チャレンジ
ユーザー入力に基づいて楽譜を出力する、文字数による最短コード。
入力は一連の文字と数字で構成されます。文字は音名を表し、数字は音の長さを表します。ノートは縦 4 列で構成されます。音符の頭は大文字O
の語幹になり、存在する場合は 3 行の高さになり、パイプ文字から作られ|
、旗はバックスラッシュから作られ\
ます。
有効な音符の長さは、なし、音符の 1/4、音符の 1/8、音符の 1/16、および音符の 1/32 です。
音符は、音名に従って譜表上の場所に配置されます。
すべての入力は有効で、エラーがないと想定できます - 各メモは空白で区切られた 1 行に、少なくとも 1 つの有効なメモがあります。
テストケース
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
language-agnostic - Code Golf: キューブで遊ぶ
チャレンジ
ユーザー入力に従って、再生レンガ タワー シリーズを出力する、文字数による最短コード。
入力は、インデックスに続く現在のキューブ タワーの高さを表す一連の数値 (正、負、ゼロ) になります。高さ 0 は、タワーがなく、間隔があることを意味します。
立方体タワーは、立方体を積み重ねて構成されています。現在のインデックスの入力数値が正の場合、キューブは上昇し、入力数値が負の場合、キューブは下降します。次の 4 行を使用して、1 つの立方体が描画されます。
立方体は 3D です。つまり、2 つの塔を隣り合わせに配置すると、立方体が互いに隠れて、偽の遠近法が生成されます。
すべての入力は有効でエラーがないと見なすことができます - 各数値は空白で区切られ、1 行に 1 つ以上の数値が含まれます。
テストケース
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。