問題タブ [code-golf]
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.
language-agnostic - コード ゴルフ: 7 つのセグメント
チャレンジ
指定された 16 進数の 7 セグメント表示表現を生成するための、文字数による最短コード。
入力
入力は、数字 [0-9] と、大文字と小文字の両方の 16 進文字 [a-fA-F] のみで行われます。特別なケースを処理する必要はありません。
出力
出力は、これらのASCIIフェースを使用して、入力の 7 セグメント表現になります。
制限
次の使用は禁止されています: eval、exec、system、figlet、toilet、および外部ライブラリ。
テストケース:
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
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 つの有効なメモがあります。
テストケース
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
code-golf - コードゴルフ:リバーシ
OK、これはかなり手の込んだコード ゴルフ チャレンジです:リバーシ(オセロ) のゲームを実装します。
- ゲームは、ゲーム ボードの現在の状態を表示し、1 台のコンピューターでプレーヤーが交互に動きを入力できるようにする必要があります。
- 不正な入力と許可されていない動きはキャッチする必要がありますが、黙って無視することができます。
- ゲームは、それ以上の動きができなくなったときに終了する必要があります (ボードがいっぱいになるか、どの動きもピースを裏返さないため)。
- その後、ゲームはどちらが勝ったか、または引き分けかを発表する必要があります。
できるだけ少ない文字でこれを行います。
セッションは次のようになります。
language-agnostic - Code Golf: キューブで遊ぶ
チャレンジ
ユーザー入力に従って、再生レンガ タワー シリーズを出力する、文字数による最短コード。
入力は、インデックスに続く現在のキューブ タワーの高さを表す一連の数値 (正、負、ゼロ) になります。高さ 0 は、タワーがなく、間隔があることを意味します。
立方体タワーは、立方体を積み重ねて構成されています。現在のインデックスの入力数値が正の場合、キューブは上昇し、入力数値が負の場合、キューブは下降します。次の 4 行を使用して、1 つの立方体が描画されます。
立方体は 3D です。つまり、2 つの塔を隣り合わせに配置すると、立方体が互いに隠れて、偽の遠近法が生成されます。
すべての入力は有効でエラーがないと見なすことができます - 各数値は空白で区切られ、1 行に 1 つ以上の数値が含まれます。
テストケース
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
language-agnostic - コードゴルフ:クモの巣
チャレンジ
ユーザーの入力に等しいリングを持つクモの巣を出力するための、文字数による最短コード。
クモの巣は、中央のリングを再構築することによって開始されます。
次に、ユーザーが入力した金額に等しいリングを追加します。\ / |
リングは、とでできた「スパイダー サークル」のもう 1 つのレベルであり_
、中心の円を包みます。
入力は常に単一の正の整数であることが保証されています。
テストケース
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。
language-agnostic - コードゴルフ:砂時計
チャレンジ
ユーザー入力に従って砂時計を出力するための、文字数による最短コード。
入力は 2 つの数値で構成されます。最初の数値は電球の高さを表す 1 より大きい整数で、2 番目の数値は砂時計の容量のパーセンテージ (0 ~ 100) です。
砂時計の高さは、砂時計の電球にさらに線を追加することによって作成されるため、サイズ 2 (許容される最小サイズ) は次のようになります。
サイズ 3 はより多くのラインを追加し、電球がより多くの「砂」にフィットできるようにします。
キャラクターを使ってサンドを描きx
ます。上部のバルブには N パーセントの「砂」が含まれ、下部のバルブには (100 - N) パーセントの砂が含まれます。N は 2 番目の変数です。
「容量」は、砂時計に含まれるスペース ( ) の量によって測定されます。パーセンテージが正確でない場合は、切り上げてください。
砂は外側から内側に引き込まれ、パーセンテージの結果が偶数の場合は右側が優先されます。
テストケース
コード カウントには、入力/出力 (つまり、完全なプログラム) が含まれます。