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

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

22
最低値を使用して削減
チャレンジ 数値の配列を取り、各要素から、まだ他の要素から差し引かれていない配列の最も低い要素を差し引く関数を作成します。 最低値を使用した後は、再使用できません。 配列の数値は10進数であり、必ずしも整数ではありません。 例: Input: [6, 4, 7, 8, 9, 2, 1, 4] Next lowest value: Output: [6, 4, 7, 8, 9, 2, 1, 4] [6, 4, 7, 8, 9, 2, 1, 4] ^ ^ 6-1 = 5 [6, 4, 7, 8, 9, 2, -, 4] [5, 4, 7, …

1
+-ナップザック問題
それぞれに重みと値が設定されたアイテムのセットを前提として、コレクションに含める各アイテムの数を決定します。これにより、合計の重みが特定の制限以下になり、合計値ができるだけ大きくなります。 詳細についてはウィキペディア たとえば、最大重みを15、値/質量が最大のオブジェクトを指定すると、スコアが36の場合に7つのオブジェクトと1 つのオブジェクト[5,2], [7,4] [1,1]が出力さ[7,0,1]れます。[5 <value>, 2 <mass>][1 <value>, 1 <mass>] ルール 入力は適切な形式で取得できます 出力も柔軟な形式で、 非標準のライブラリを使用することはできません。初期セットアップとは別に使用するためにライブラリをインストールまたはダウンロードする必要がある場合、それは許可されていません オブジェクトは負の質量と値を持つ可能性があります(つまり、-1、-1) 最適な回答が必要です 勝利 最短コードの勝利 負の質量と値? これは、この課題の重要な部分です。などのアイテム(質量、値)を持つオブジェクトと[4,3],[-1,-1]、容量が15のバッグがあるとします。最初のアイテムの3つを入れてスコアを9にするか、最初のアイテムの4つと-1、-1の1つを入れます。スコア11のオブジェクト。

4
ボールをビンに入れる方法の数を数える
このタスクでは、奇数の白いボールと同じ数の黒いボールが与えられます。タスクは、各ビンに各色の奇数があるように、ボールをビンに入れるすべての方法を数えることです。 たとえば、3つの白いボールがあるとします。異なる方法は次のとおりです。 (wwwbbb) (wb)(wb)(wb) 2つの異なる可能性のために。 5つの白いボールがある場合、さまざまな方法があります。 (wwwwwbbbbb) (wwwbbb)(wb)(wb) (wwwb)(wbbb)(wb) (wb)(wb)(wb)(wb)(wb) 単一の整数である入力は、好きな方法で取得できます。出力は単一の整数です。 あなたのコードは、11個の白いボールが完全に見えるように十分に高速でなければなりません。 任意の言語またはライブラリを使用できます。

3
クラッシュする車のシミュレーション
前書き 速度と方向を持つASCII車がいくつかあります。それらの速度はそれらの数によって表されます。車は<>それなら停止しています。例えば: <> 1> 2> 3> 1秒後、 <> 1> 2> 3> 2つ後、私は得る <> 1> 2> 3> 2台の車が近すぎると、クラッシュします。 1> <1 1> <2 1秒後、これは ### ## 2台の車が交差する場合、それらは本来あるはずのハッシュタグになります。 一方の車がもう一方の車を「ホップ」するのに十分な速さであれば、クラッシュは発生しません。 3><1 2><1 4><> なる <13> ### <>4> 車が画面から外れると、(クラッシュが発生しない限り)車は消えます。車が画面の外に出る方法はありません。 <11> <1 1> 1 1> 1> チャレンジ 与えられた自動車の物理学に基づいて、未来に1秒ずつタイムステップできるプログラムを作成する必要があります。入力は、スペースと最大速度5(正規表現に一致(<[1-5]|[1-5]>|<>| )+)の車になります。シミュレーションは1行で行われますが、その行には固定サイズがありません。 テストケース <> 1> 2> 3> 4> 5> …

15
最大の広場
この質問は、グリッド内の最大の正方形に似ています。 チャレンジ 行列を考える1と、0文字列形式で"xxxx,xxxxx,xxxx,xx.."または配列形式を["xxxx","xxxx","xxxx",...]、あなたはすべてが含まれている最大の広場部分行列の面積を決定する関数を作成します1。 正方形の部分行列は、幅と高さが等しいものであり、関数はのみを含む最大の部分行列の領域を返す必要があります1。 例えば: "10100,10111,11111,10010"この場合、これは次のマトリックスのようになります。 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 太字で1作成されたサイズ2x2の最大の正方形の部分行列を確認できるため、プログラムは4の領域を返すはずです。 ルール 部分行列は、幅と高さが同じでなければなりません サブマトリックスには値のみが含まれている必要があります 1 関数は最大の部分行列の領域を返す必要があります 部分行列が見つからない場合は、 1 あなたはの数をカウントすることにより、部分行列の面積を計算することができ1部分行列に テストケース 入力: "10100,10111,11111,10010" 出力: 4 入力: "0111,1111,1111,1111" 出力: 9 入出力 "0111,1101,0111" : 1 これはcode-golfなので、バイト単位の最短の回答が優先されます。

12
アスタリスクバイラル
正の整数N(「バイラリティ」)が与えられると、プログラムは、長さNの 2つのブランチが左上隅から下向きまたは右向きに伸びる、ASCIIアートのツリーの描画を作成する必要があります。 最初のアスタリスクの後に各ブランチが取る方向は、右向きでも下向きでもかまいません。この選択は、次のステップごとにランダムに1にする必要があります。 たとえば、入力が5の場合、出力は次のようになります。 *** * *** ** ** 2つのブランチは(隣接するセル上にある)タッチすることはできますが、(同じセル上にある)オーバーラップすることはできないため、以下は許可されません。 *** * * ***** * * 例 inputの1場合、可能な出力は次のとおりです。 ** * (これは、2つのブランチが同じパスをたどるとオーバーラップするため、すべての有効な出力に存在します。) 入力の可能な出力は3次のとおりです。 *** * * ** ** *** * * 入力用7: **** * ** * ** * *** * 入力用10: **** * * ********* * ***** これはcode-golfなので、有効な最短の回答(バイト単位)が優先されます。 1.これは均一にランダム(つまり、各方向の50/50の確率)、または通常のハードウェアで取得できる限り均一にランダムでなければなりません。

5
爆弾をくすぐる!
チャレンジ: 整数入力を受け取るプログラムまたは関数を作成します。これは、以下に指定されているように新しいプログラム/関数を出力します。 入力: 整数n:時限爆弾が爆発するまでの秒数。 出力: 秒単位の時間nを入力として使用した元のプログラムは、次のことを行う新しいプログラム/関数を出力します。 しているn以前のプログラムが実行されてからの秒が経過しますか?印刷するBOOM! それ以外の場合:プログラム/関数を出力します。それ自体を実行すると、タイマーがn秒にリセットされます(最初に出力されたプログラム/関数と同じように動作します)。 注:開始時刻が変更されているため(少なくともほとんどの言語では)、最初に出力されたプログラム/関数とまったく同じではありません(以下の説明の例を参照)。 疑似コードの例: 元のプログラムがABCあり、入力が60秒であるとしましょう: ABC&60出力DEF(60)。 をDEF(60)60秒以内に実行すると、が出力されますDEF_G(60)。これはとまったく同じようDEF(60)に機能しますが、新しい開始時刻が指定されます。 場合はDEF(60)、60秒後に実行され、それの出力は以下となりますBOOM!。 私が「開始時間」とはどういう意味かを明らかにする例: 入力60秒の基本プログラムはで実行され12:00:00ます。開始時刻がの最初の出力プログラムを出力します12:00:00。 の開始時間を含むこの最初の出力プログラム12:00:00は、で実行され12:00:45ます。開始時刻がの2番目の出力プログラムを出力します12:00:45。 開始時刻がこの3番目の出力プログラムは、12:00:45で実行され12:01:25ます。開始時刻がの4番目の出力プログラムを出力します12:01:25。 開始時刻がこの4番目の出力プログラムは、12:01:25で実行され12:05:00ます。出力しますBOOM!。 最初の出力がのBOOM!後12:01:00にどのように印刷されるかに注意してください。ただし、出力プログラムは12:01:25ステップ3であっても、次のプログラムをBOOM!出力します(出力プログラムはその最初の出力プログラムよりも開始時間が長いため)。 。 チャレンジルール: デフォルトのクインルールが適用されます。 少なくともn数秒は経過しているはずです。だから、入力された場合60、時間を開始した12:00:00時に、12:01:00それが出力v2のプログラムをまだしますが、で12:01:01、それが出力しますBOOM!。 出力プログラムは入力を受け取りません(短い場合は空の未使用パラメーターを除きます)。開始時間は、「ハードコードされた」値として次のプログラムに与える必要があります(そのため、出力プログラムの出力は、前のプログラムとほとんど同じではありません(ほとんどの言語)。 メインプログラム/関数のサイズのみがバイトでカウントされます。 プログラム/関数は、文字列(またはバイト/文字配列/リストなどの同等の適切な形式)、言語がこれをサポートしている場合は関数として、または他の適切な形式(不明な場合は問い合わせてください)として出力できます。 一般的なルール: これはcode-golfなので、バイト単位の最短の回答が優先されます。 コードゴルフ言語では、コードゴルフ言語以外の言語で回答を投稿しないようにしないでください。「あらゆる」プログラミング言語について、可能な限り短い答えを考え出すようにしてください。 回答には標準規則が適用されるため、STDIN / STDOUT、関数/メソッドを適切なパラメーターと戻り値の型の完全なプログラムで使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストを含むリンクを追加してください。 また、必要に応じて説明を追加してください。
9 code-golf  quine  date 

5
ケースフォールドドイツ語
ドイツ語の文字列とケースの表示(小文字/大文字/タイトル)が与えられた場合、文字列をそのケースに折りたたみます。 仕様書 入力のみで構成されますa- zプラスäöüß-,.;:!?'"大文字および/または小文字で。 ターゲットケースは、一貫したタイプの3つの一意の値(それらを具体的に指定してください)として取得できます。3つの文字、3つの数字、または3つのビットパターン。(現在、他のフォーマットは、ケース仕様への回答の「アウトソーシング」を防ぐことを許可されていません。追加のフォーマットを許可する必要があると思われる場合はコメントしてください。) タイトルケースとは、文字の後に続く文字を除いてすべて大文字を意味します(文字はa– zプラスですäöüß)。 ガチャ ß大文字にする必要がある場合は、にする必要がありますẞ。一部のケースフォールディングビルトインとライブラリはこれを行いません。 ßタイトルケースにする必要がある場合は、にする必要がありSsます。一部のケースフォールディングビルトインとライブラリはこれを行いません。 ssテキスト内で発生する可能性があるため、ßまたはに変換しないでくださいẞ。 例 大文字die Räder sagen "ßß ss" für dich, wegen des Öls! はDIE RÄDER SAGEN "ẞẞ SS" FÜR DICH, WEGEN DES ÖLS! 小文字 die Räder sagen "ßß ss" für dich, wegen des Öls! は die räder sagen "ßß ss" für …

30
予約語を出力する
コンピューター言語の場合、予約語は、変数、関数、またはラベルの名前など、識別子として使用できない単語です。他のコンピューター言語の場合、キーワードは言語命令のセットと見なすことができます。 チャレンジ 選択した言語を使用して、選択した言語でコードを記述し、1から10までの数字を指定して、選択した言語の予約語(キーワード)を1<=n<=10出力しnます。 詳細 選択した言語で大文字と小文字が区別される場合、出力されるキーワードも大文字と小文字を区別する必要があります。 選択した言語で大文字と小文字が区別されない場合、出力されるキーワードはどのような場合でも使用できます。 選択した言語は言って10個の未満のキーワードがある場合はp任意のため、コードを出力しなければならないが、すべての予約語nの間pとを10。 可能であれば、演算子をキーワードと見なすかどうかを回答で指定してください。 Javaの可能なサンプル(JDK10) n=1 --> true n=3 --> try new interface n=4 --> continue this long break > <>の可能なサンプル n=1 --> > n=3 --> > < ^ n=4 --> > < \ / Brain-Flakの可能なサンプル n=1 --> ( n=3 --> ( ) [ ] n=9 …

1
労働時間計算機
これは、私の会社がすべての従業員の労働時間の監視をどのように扱っているかに基づいています。一人一人がセンサーの前を通過できるカードを持っているので、時計は従業員がオフィスにチェックインまたはチェックアウトする時刻を記録します。レジスターがコードにリンクされるたびに: コード0:従業員がオフィスに到着する(またはオフィスに戻る)。 コード1:従業員は昼食のためにオフィスを離れます。 コード2:従業員は1日の終わりにオフィスを離れます。 コード3:従業員は仕事上の理由でオフィスを離れます。 コード4:従業員は個人的な理由で退社します。 コード0レジスタは「ゼロレジスタ」と呼ばれることもあり、コード1からコード4レジスタは「非ゼロレジスタ」と呼ばれることもあります。 したがって、ワーカーの通常の日は、次のような登録リストを生成します。 Code/Time ------------ 0 8:17 // The employee arrives at the office 4 11:34 // The employee leaves the office to smoke 0 11:41 // The employee returns to the office 1 13:37 // The employee leaves the office to have lunch 0 …

5
アドベントチャレンジ6:トランスポートドックのラベル変更
<<前 へ次へ>> PPCGコミュニティのおかげで、サンタはプレゼントを運送ドックに移動するための正しい順序に整理することができました。残念ながら、運送用ドックの看板は壊れているので、プレゼントをどこに置くかわからないのです!プレゼントはすべて一緒にグループ化されており、その範囲ではなく、サンタがより良いアイデアだったと認めています。 次に、ソートされた順序でプレゼントが与えられた場合、現在が正しい順序になるようなすべての可能な最小範囲構成を決定します。つまり、チャレンジ#5のアルゴリズムに従ってプレゼントを並べ替えても順序が変わらないように、すべての最小範囲構成を見つけます。 チャレンジ 最小範囲構成は、範囲がそれぞれ可能な限り小さい範囲のリストです。つまり、プレゼントの特定のサブセットをカバーするように範囲が指定されている場合、範囲の最小値と最大値はサブセットの最小値と最大値と同じでなければなりません。つまり、カバーの範囲を縮小すると、カバーではなくなります。 課題は、現在のサイズに適用できるすべての可能な最小範囲構成を見つけることです。例を見てみましょう:[3, 1, 2, 5, 4, 7, 6] 現在の構成全体の範囲をとることは、些細な場合です。この場合、[[1, 7]]解決策になります。 一意の要素を持つ例の場合、別の些細なケースになります[[3], [1], [2], [5], [4], [7], [6]](範囲を順序付ける必要がないため)。 この例では、我々はまた、それを見る[[1, 3], [4, 7]]と[[1, 3], [4, 5], [6, 7]]同様に、働くだろう[[1, 3], [5], [4], [6, 7]]と[[1, 3], [4, 5], [7], [6]]。 の最終的な答えは[3, 1, 2, 5, 4, 7, 6]でしょう[[[3], [1], [2], …

4
今、私たちはn次元で考えています!
質問:数値nが2以上の場合、座標がからまでの範囲の、2 n次元n x n x n x n x n x n ... x n格子上の点の異なるペアの数は、少なくとも距離がどれだけ離れているか?ペアとは、同じ2つのポイントが逆の順序で構成されているため、互いに区別されているとは見なされません。ペアの総数は非常に急速に増加することに注意してください。総対の数は行く、、、、、など0n - 1 n{(2,1,3,1), (3,2,1,3)}{(3,2,1,3), (2,1,3,1)}635132 6404 881 2501 088 367 840 テストケース: 2 -> 0 (all pairs are at most a distance of sqrt(2) < 2 apart) 3 -> 28 (They must either be (2,2,1) …

1
アドベントチャレンジ2:現在のVault Raid!
<<前 へ次へ>> チャレンジ ようやくサンタが現在の金庫室に入る方法を見つけたので、エルフは何とかして彼の前にエルフが入り、プレゼントを盗んだことに気づきました!彼らはまだ金庫を離れる方法を理解していませんので、サンタはそれらすべてを捕まえようとしなければなりません。サンタとエルフはどちらも走り回るのに無限のエネルギーを持っていますが、残念ながらエルフはエネルギーの無限大を持っているので、どこにでもループで走ってしまうと、エルフは自由になります。 任意の2つのノード間に存在するnノードとeエッジのグラフ、およびエルフとサンタの位置を考慮して、サンタが疲れる前に捕獲できるエルフの数を決定します。 追跡はターンベースです。各サイクルでは、最初にすべてのエルフが同時に移動し(互いに移動して同じノードに移動することもできます)、次にサンタが移動します。サンタがエルフと同じノードに移動した場合、サンタはそのエルフを捕らえました。各エルフは、1つのステップから1つのノードからその隣接ノードにのみ移動できます。最初は同じことがサンタにも当てはまりますが、サンタが捕まえたすべてのエルフに対して、サンタは1つの追加ステップを実行できます。したがって、サンタがエルフを捕まえた場合、サンタはノードからその隣の隣に移動できます。つまり、ノードに移動してから戻ることができます。ただし、この期間中、サンタはあまりにも速く走っているので、中間ステップで通過するエルフを捕まえません(したがって、彼がAにいる場合、AはBに接続され、BはCに接続され、エルフはオンになりますB、そしてサンタはA-> B-> Cに移動し、エルフはまだ捕まっていません)。ただし、サンタは一度にそれほど多くのステップを移動する必要はありません。彼は毎ターン最大1 +(捕獲されたエルフの数)まで移動します。 すべてのエルフは毎ターン移動する必要があり、エルフがサンタのノードに移動した場合、それらは捕まります。 すべてのエンティティ(エルフ、サンタ)は、最初は別個のノード上にあります。 仕様とルール あなたのプログラムは理論的にはどんなサイズの入力でも動作するはずです。入力は、グラフ、エルフの位置、およびサンタの位置として与えられます。グラフは任意の適切な形式(ノードのリスト+エッジのリスト、エッジのリスト、隣接行列、サイクル表記など)で取得でき、グラフの入力形式(インデックスノードのリストなど)。出力は、サンタがキャッチできるエルフの最大数を示す単一の正の整数である必要があります。 テストケース これらは、位置のエッジとノード番号のリストとして与えられます。 Input -> Output [(0, 1), (1, 2)], [0, 2], 1 -> 2 # Easy win for Santa, the elves get themselves caught :P [(0, 1), (1, 2), (2, 3), (3, 0)], [0, 1], 2 -> …

9
アドベントチャレンジ3:プレゼントを再生する時間です。
<<前 へ次へ>> 残念ながら、サンタはエルフを間に合わせることができませんでした!彼は今製造のプレゼントに戻らなければなりません。エルフは間違いなくサンタの奴隷ではないので、彼は彼らにいくら支払うかについての費用を理解しなければなりません。 チャレンジ プレゼントの情報を考慮して、それらすべてを製造するコストを決定します。 それぞれのプレゼントは段ボール箱に入れられ、最後にリボンが巻き付けられて包装紙で包まれます。包装紙は魔法のようで、重なり合う必要がないので、使用される包装紙の量は箱の表面積と正確に同等です。サンタがよりコンパクトに保管できるので、すべてのプレゼントは直角プリズムです。リボンは3方向すべてに回ります(そのため、ラッピングに使用されるリボンの長さは、3つの異なる周囲の長さの合計に等しくなります)。 幸いにも現在自体には既知のコストがあります。段ボールは1平方メートルあたり1ドル、包装紙は1平方メートルあたり2ドルです。(ヒント:表面積に3:Pを掛けるだけです)。リボンの価格は1メートルあたり1ドルです。 フォーマット仕様 入力はプレゼントのリストとして与えられ、各プレゼントには実際のアイテムのコストとプレゼントボックスの3つの寸法が含まれます。あなたの出力は、必要な総コストでなければなりません。 正確には、アイテムのコストを有する単一本のコストのための式c及び寸法x、y及びzですc + 6 * (x * y + y * z + z * x) + 4 * (x + y + z)。 テストケース [[7, 8, 6, 7], [7, 7, 5, 5], [8, 9, 6, 7], [6, 5, 10, 10], [5, …

1
5文字のASCIIマップ
注:この投稿では、「文字」と「色」という用語は本質的に同じ意味です この画像: として表すことができます ....'''333 .eeee'''3e ..dddd33ee %%%dd####e (アスキー文字への色のマッピング) 4つの色の定理は、「隣接する領域に平面を分離してマップと呼ばれる図を生成する場合、隣接する2つの領域が同じ色にならないように、マップの領域に色を付けるために必要な色は4つだけです。2つコーナーではない共通の境界を共有する領域は隣接と呼ばれます。コーナーは3つ以上の領域で共有されるポイントです。」-ウィキペディア(リンク) これは、エッジを共有する2つの部分が色を共有しないように、4色を使用してマップに色を付けることが可能であることを意味します。 4色のみを使用してマップに色を付けるアルゴリズムは複雑であるため、この課題では、プログラムは5色以下を使用してマップに色を付けるだけで済みます。 色を変更した以前のマップは次のようになります。 これは次のように表すことができます ....'''333 .eeee'''3e ..dddd33ee 333dd....e または同等に @@@@$$$!!! @^^^^$$$!^ @@<<<<!!^^ !!!<<@@@@^ チャレンジ: ASCII文字(各文字が異なる色を表す)で構成される「マップ」が与えられた場合、マップを「色変更」(異なるASCII文字を使用してマップを表す)して、5色以下しか使用しないようにします。 例: 入力: %%%%%%%%%%%%##########$$$$$$$$%% *****%%%####!!!!!!!%%%%%%%%%#^^^ (((((((***>>>>??????????%%%%%%%% &&&&&&&&$$$$$$$^^^^^^^))@@@%%%%% ^^^^^^%%%%%%%%%%%%############## 可能な出力: 11111111111122222222223333333311 44444111222255555551111111112444 22222224441111444444444411111111 55555555222222255555553355511111 22222211111111111122222222222222 明確化: 入力マップは常に6文字以上を使用します 出力には5つの異なる文字を使用できます 出力では5文字未満を使用できます 入力は、適切な形式(配列の配列、または文字列の配列を含む)で取得できます。 これはコードゴルフなので、最も短い答えが優先されます。 サンドボックスリンク
9 code-golf 

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