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

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

16
重複しない行列和
重複しない行列和 長さnのk個の配列が与えられた場合、各配列の1つの要素を使用して可能な最大合計を出力し、2つの要素が同じインデックスにないようにします。k <= nであることが保証されています。 入力 整数の空でない配列の空でないリスト。 出力 最大合計を表す整数。 例 Input -> Output [[1]] -> 1 [[1, 3], [1, 3]] -> 4 [[1, 4, 2], [5, 6, 1]] -> 9 [[-2, -21],[18, 2]] -> 0 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> 15 [[1, 2, 3, 4], [5, …

5
方向変換器で作られたパスを描く
この課題はグリッド上で行われます。 +----------+ | | | | | | | | | | | | | | | | | | +----------+ これは10 x 10ですが、任意の長方形にすることができます。 このグリッドには4つの方向があります。上、下、左、右。 タスクは、大文字の方向の初期で始まるパスを描くことです。この例では、Uから直接上に移動します。 +----------+ | | | | | | | | | | | | | | | | | U | +----------+ パスは上に移動し、壁にぶつかるまでアスタリスク(*)で終わるフルストップ文字(。)で構成されます。 +----------+ | …
25 code-golf 

28
メタシーケンスにする
バックグラウンド この課題の場合、「メタシーケンス」は、数字自体だけでなく増分も増加する数字のシーケンスとして定義され、増分は値の増加などによって増加します。 たとえば、ティア3メタシーケンスは次のように始まります。 1 2 4 8 15 26 42 64 93 130 176 なぜなら: 1 2 3 4 5 6 7 8 9 >-| ↓+↑ = 7 | Increases by the amount above each time 1 2 4 7 11 16 22 29 37 46 >-| <-| | Increases …

8
爆発する数字
サンドボックス(削除済み) 9の行列を次のように定義してみましょう: N= ⎡⎣⎢999999999⎤⎦⎥N=[999999999] N = \begin{bmatrix} 9&9&9\\9&9&9\\9&9&9 \end{bmatrix} 爆発する数を位置(x 、 y)(バツ、y)(x,y)数として定義します。これは、すべての隣接する隣人(それ自体を含む)の間で等しい整数に分解でき、各部分の絶対値は0より大きいです。 前マトリックスから、位置番号を爆発することができます(1 、1 )(1、1)(1,1)(0インデックス付き) N=⎡⎣⎢999999999⎤⎦⎥N=[999999999] N = \begin{bmatrix} 9&9&9\\9&\color{red}9&9\\9&9&9 \end{bmatrix} N=⎡⎣⎢9+19+19+19+10+19+19+19+19+1⎤⎦⎥N=[9+19+19+19+10+19+19+19+19+1] N = \begin{bmatrix} 9+\color{red}1&9+\color{red}1&9+\color{red}1\\9+\color{red}1&\color{blue}0+\color{red}1&9+\color{red}1\\9+\color{red}1&9+\color{red}1&9+\color{red}1 \end{bmatrix} N=⎡⎣⎢10101010110101010⎤⎦⎥N=[10101010110101010] N = \begin{bmatrix} 10&10&10\\10&\color{red}1&10\\10&10&10 \end{bmatrix} 場合によっては、結果を1より大きい有理数に分解します。これは、数値を爆発させるときに避ける必要があるものです。この場合、残りは展開された番号に割り当てられます。 それを実証するために、以前のマトリックスで作業を続けましょう。我々は位置の数を爆発する。この時間(0,0)(0,0)(0,0) N=⎡⎣⎢10101010110101010⎤⎦⎥N=[10101010110101010] N = \begin{bmatrix} \color{red}{10}&10&10\\10&1&10\\10&10&10 \end{bmatrix} ここには、3つのネイバーと番号自体があります。ここで式のようなものである10/410/410/4私たちに与える2をそれぞれのための2余りなど。 N= ⎡⎣⎢2 + 210 + 21010 + 21 …
25 code-golf  matrix 

30
拡大する矢印を描く
この課題は、成長する一連のASCIIアート矢印を印刷することです。パターンを言葉で説明しますが、このシリーズの始まりがどのように見えるかを見る方が簡単かもしれません。 > < -> <- --> <-- ---> <--- ----> <---- -----> <----- ------> <------ ... 長さnの矢印には、矢印(<または>)とn-1ダッシュ(-)が含まれます。右向きの矢印には最初にダッシュがあり、次にがあり>ます。左向きの矢印はで始まり、<その後にダッシュが続きます。シリーズは、n右向きの長さの矢印とそれに続く左向きの長さnの長さで構成され、nは1から無限大です。 チャレンジを完了するには、1つの入力(整数i >= 1)を受け取り、最初のi矢印を出力するプログラムまたは関数を作成します。矢印は、左右のペアではなく個別のものi=3です。したがって、出力する必要があります。 > < -> 文字列のリストを返すか、次々にそれらを印刷できます。印刷する場合、矢印は一貫した区切り記号で区切る必要があります。区切り記号は、例のように改行である必要はありません。 これはcode-golfであるため、最小バイトが勝ちます。

30
プログラマーが言うように:怠け者になろう
ストーリー 9gagからこの投稿を見ましたか?たぶん、あなたはあなた自身の文章を作る感覚を得た。しかし、その後、30分で脚本をゴルフするだけでよいことに気づき、それに時間をかける必要はありません。 提出 以下に説明するように、プログラムは入力文字列を取得し、引用符を追加して返します。標準的な抜け穴は禁止されています。行のリストとしての出力が許可されます。出力を中断しない末尾のスペースと空の行は許可されます。 入力の規則 入力には、印刷可能なASCII文字のみが含まれます。 入力にはスペースを含めることができます。言葉は彼らによって決定されます。 スペースの後に別のスペースが続かないことが保証されています。 入力がない場合や空の文字列の場合は関係ありません。 出力のルール 1つの単語が指定されている場合、プログラムは引用符で囲まれた文字列を返す必要があります。 入力文字列に2つ以上の単語がある場合、最初の入力が最初に返されますが、最初の単語は引用符で囲まれています。次に、次の行で、最初の入力を返しますが、2番目の単語を引用符で囲みます。残りの単語についても同様です。 一般に、プログラムは入力に含まれる単語と同じ数の行を返さなければなりません。 例: test -> "test" This is codegolf -> "This" is codegolf This "is" codegolf This is "codegolf" This is a significantly longer, but not the longest testcase -> "This" is a significantly longer, but not the longest …
25 code-golf  string 

29
巡回後継者の合計で私を置き換えてください!
今回は簡単な挑戦です。正の整数の配列を指定して、A(またはあなたの言語で同等)、各エントリ置き換えるAを、私は、次の合計とAのi個のの要素A、十分なアイテムが存在しない場合は、最初からバックをサイクリング。 いつものように、これらの抜け穴はデフォルトで禁止されていることに注意しながら、任意のプログラミング言語で競争し、標準的な方法および合理的な形式で入力を取得し、出力を提供できます。オプションで、入力としてAのサイズを取ることもできます。これはcode-golfであるため、すべての言語の最短の送信(バイト単位)が優先されます。 例/テストケース 与えられた場合[1,3,4,5]、あなたのコードは[3,10,13,14]、に1置き換えられますので3、3に置き換えられます4+5+1=10(最初からどのように折り返されたかに注意してください)、4by 5+1+3+4=13および5by 1+3+4+5+1=14。 与えられた[3,2,1,9]、あなたのプログラムが生成しなければならない[12,10,9,33]、我々は代用ので、3と2+1+9=12、2と1+9=10、1と9と9と3+2+1+9+3+2+1+9+3=33(私たちは戻って最初から複数回包まれた方法に注目してください)。 いくつかのテストケースから選択できます。 [4,3,2,1] -> [10,7,5,4] [3,2,1,9] -> [12,10,9,33] [1,3,4,5] -> [3,10,13,14] [4,4,3,2,2] -> [11,11,8,6,8] [3,5,3,2,1] -> [10,14,6,4,3] [3,2,4,3,2,1,1] -> [9,7,7,4,2,1,3] [7,8,6,5,4,3,2,1,5] -> [29,33,20,15,11,8,6,5,30] [28,2,4,2,3,2,3,4,5,3] -> [137,6,10,5,9,7,12,38,39,34] [1,2,3,4,5,4,3,2,1,2,3,4,3,2,1] -> [2,7,13,14,12,8,5,3,2,7,9,7,4,2,1]

30
ゼロサムカウント
与えられたプログラムまたは機能を記述≥1 N ±1±2、±3±...±へ戻るソリューションの数N = 0。 n = 6の場合、解は存在しないため、答えは0です。n= 4の場合、解は2つありますので、答えは2です(2つの解は1-2-3 + 4 = -1 + 2 + 3-4 = 0)。 これは、OEISシーケンスA063865です。入力/出力の例は次のとおりです。 n a(n) 1 0 2 0 3 2 4 2 5 0 6 0 7 8 8 14 9 0 10 0 11 70 12 124 13 0 14 0 …

25
Golf A括弧マッチングアルゴリズム
文字列が与えられますs。文字列[のsと]s が等しく、少なくとも1つあることが保証されます。ブラケットのバランスが取れていることも保証されます。文字列には他の文字を含めることもできます。 目的は、タプルのリストまたは各[および]ペアのインデックスを含むリストのリストを出力/返すことです。 注:文字列はゼロインデックスです。 例: !^45sdfd[hello world[[djfut]%%357]sr[jf]s][srtdg][]返す必要があります [(8, 41), (20, 33), (21, 27), (36, 39), (42, 48), (49, 50)]またはこれと同等のもの。タプルは必要ありません。リストも使用できます。 テストケース: input:[[asdf][][td([)ty54g% ]hg[[f]u][f[[jhg][gfd]sdf]sdfs]ghd]fr43f] output:[(0, 62),(1, 6), (7, 8), (9, 56), (13, 22), (25, 30), (26, 28), (31, 52), (33, 47), (34, 38), (39, 43)] input:[[][][][]][[][][][[[[(]]]]])) output:[(0, 9), (1, 2), (3, 4), …

20
形状識別プログラム
あなたの仕事は、入力の形状を識別するプログラムを作成することです。識別される形状は、次のいずれかです。 平方 正方形として識別されるためには、ソースはすべて同じ長さの行と、1行あたりの文字数と同じ行数(改行文字を除く)を持っている必要があります。オプションの末尾の改行も使用できます。 $_=' $_=" $_"' ;say 矩形 長方形として識別されるためには、ソースはすべて等しい長さの行を持っている必要がありますが、行数は行ごとの文字数と一致しません(改行文字は除外されます)。オプションの末尾の改行も使用できます。これは、水平または垂直のいずれかです。 $_= "no t a squ are ";# $_="but it is still a consistent shape!";## 三角形 三角形として識別するには、ソースは1文字で始まり、後続の各行に追加の文字(最後を含む)が1つ必要です。または、最初の行の後、後続の各行は最後まで1文字少ない必要があります。 1つだけです。 $ _= "So this "."". shape; $_="or even, this way !! " 混乱 上記のような一貫した形式に従わないものはすべて、混乱として識別される必要があります。 ルール 4つの一貫した印刷可能な値を返して、各形状を識別できます。 また、ソースコードは上記の形状のいずれかに準拠する必要があります(いや、混乱ではありません)。 ソース内の単一の末尾の改行は許容されます。 入力には空白行(末尾の改行を含む)が含まれておらず、空ではなく、改行のみで構成されていないことが想定できます。 すべての形状の高さと幅は2以上である必要があります。それ以外の場合、これは混乱として定義されます。 標準的な抜け穴は禁止されています。 各言語のバイト単位の最短ソリューションが勝ちです。

19
覚えておいてください!
入力 印刷可能なASCII文字の文字列、たとえば: This is an example string. 出力 BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz母音(AEIOUaeiou)が後に続かない子音()ごとに、その前の最後の母音を小文字で追加します。 最初の母音の前の子音はそのまま残されます: Thisi isi ana examapale seterinigi. テストケース AN EXAMPLE WITH A LOT UPPERCASE (plus some lowercase) => ANa EXAMaPaLE WITiHi A LOTo UPuPEReCASE (pelusu some lowerecase) And here comes a **TEST** case with 10% symbols/numbers(#)! => Anada here comese a **TESeTe** …
25 code-golf  string 

2
ルービックキューブですか?
ped敬の念を抱かせる時間は、「ルービックキューブ」の写真(Tシャツ、ポスターなど)が実際には解けないことを指摘することです。 最初に確認する必要があるのは、キューブが適切なピースで構成されていることです。キューブを解くには、それぞれが9つの正方形の6色が必要です。また、キューブには、エッジとコーナーの各ユニット(キューブを構成する小さなキューブ)が一意である必要があります。それらは一意である必要があるだけでなく、2つの中央ピースが互いに向かい合っている場合、エッジまたはコーナーピースはこれらの色の両方を含むことができません。 すべての適切なピースで構成されるキューブを作成したら、それが解決可能であることを確認する必要があります。ここにはいくつかのルールがありますので、専門家に説明を委ねます。以下のネタバレでこれを行う方法を説明します。自分で問題を解決することに興味がある場合は、サイトにアクセスしてこの課題を理解したり参加したりする必要はありません。 リンクされた説明 あなたの仕事は、入力としてパターンを取り、それが実際に解けるルービックキューブであるかどうかを判断することです。解けるようにするには、キューブの有効な移動を実行する方法が必要です。これにより、キューブの各面の色が1つだけになります(また、異なる面の色は異なります)。ほとんどのルービックキューブには標準の色が付いています(白は黄色の反対側など)。この特定の色に解決状態が続くとは思わないかもしれません。 有効な移動は、立方体の1つの面の時計回りまたは反時計回りの回転です。立方体の面を回転すると、面に接する正方形も回転し、以前に触れていた面に接続されたままになります。 IO キューブは合理的な方法で使用できます。言語に組み込みの「キューブフェイス」タイプがあり、入力に適している場合は、キューブのネットの2D配列、各フェイスに1 3 x 3リストを使用できます。ただ合理的です。特定の形式が受け入れられるかどうかを知りたい場合、またはチャットでpingを送信し、その有効性を示すためにチャレンジに追加します。 入力フォーマットは、最大9色までサポートする必要があります。 出力の場合、これは決定問題であるため、「はい、これは有効なルービックキューブです」に1つの定数値を、「いいえ、これは有効なルービックキューブではありません」に別の定数値を出力する必要があります。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数が少ない方が優れています。 テストケース ここにテストケースがあります。これらは、各正方形が1文字の立方体のネットとしてフォーマットされます。異なる文字は異なる色を表します。リクエストに応じて、さらにテストケースを追加できます。 可解 RRR RRR RRR GGGWWWBBBOOO GGGWWWBBBOOO GGGWWWBBBOOO YYY YYY YYY GRR GRR ORW WWRBWYBOOGGY GGRBWGYBBOOO OOGRWGYWWRBB WYO YYB YYB 解決できない RRR RRR RRR GGGWWWBBBOOO GGGWWWBBBOOO GGGWYWBBBOOO YWY YYY YYY RRR RRR RRR GGGWWWBBBOOO GGGWWWBBBOOO …

30
紛らわしいアルファベット階段
入力がない場合、受け入れられた出力方法を介して、どちらの場合でもこの興味深いアルファベットパターンを出力します(大文字と小文字が一致している必要があります)。 A AB ACBC ADBDCD アベケデ AFBFCFDFEF AGBGCGDGEGFG AHBHCHDHEHFHGH AIBICIDIEIFIGIHI AJBJCJDJEJFJGJHJIJ AKBKCKDKEKFKGKHKIKJK ALBLCLDLELFLGLHLILJLKL AMBMCMDMEMFMGMHMIMJMKMLM ANBNCNDNENFNGNHNINJNKNLNMN AOBOCODOEOFOGOHOIOJOKOLOMONO APBPCPDPEPFPGPHPIPJPKPLPMPNPOP AQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQ ARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQR ASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRS ATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTST AUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURSTU AVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUV AWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVW AXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXTXVVXWX AYBYCYDYEYFYGYHYYYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXY AZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZ 末尾のスペースと改行は許容され、標準の抜け穴は許可されません。これはたまたまcode-golfであるため、バイト単位の最短回答が優先されます。

30
数字モザイクをデザインしましょう
チャレンジ 正の整数与えられ、NNNその各桁d1,d2,d3,⋯,dnd1,d2,d3,⋯,dnd_1, d_2, d_3, \cdots, d_nを内の位置に対応する回数繰り返しNNNます。換言すれば、各桁dkdkd_k繰り返されるべきkkk回(各1≤k≤n1≤k≤n1\le k\le n、1インデックス)こうして新たな数を作成し、: d1d2d2d3d3d3⋯dndndn⋯dnn times¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯d1d2d2d3d3d3⋯dndndn⋯dn⏟n times¯\overline{d_1d_2d_2d_3d_3d_3\cdots\underbrace{d_nd_nd_n\cdots d_n}_{n\text { times}}} 次に、水平方向と垂直方向の両方に書き留めて、空白の列インデックスと行インデックスの間の大きいインデックスに対応する数字のコピーで空白を埋めます。最終的な出力は次のようになります。 ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮]\begin{bmatrix} \color{red}{d_1} \color{green}{d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 d_3 d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 …

25
完全なペアリングの検出
関数fを持ちましょうfff文字列を受け取り、隣接する同一の文字のすべてのペアを削除をします。例えば f(abbbacc)=abaf(abbbacc)=abaf(a\color{red}{bb}ba\color{red}{cc}) = aba 2つのペアが重複する場合、そのうちの1つのみを削除することに注意してください。 繰り返しアプリケーションが最終的に空の文字列を生成する場合、文字列を完全にペアで呼び出します。たとえば、上の文字列は完全にペアではありません再度適用するとが得られるためです。ただし、ような文字列は完全にペアになっています 3回適用すると空の文字列が取得されるためです。f a b a e a b b c c a d d e fabbbaccabbbaccabbbaccfffabaabaabaeabbccaddeeabbccaddeeabbccaddefff f(eabbccadde)=eaaef(eabbccadde)=eaaef(ea\color{red}{bbcc}a\color{red}{dd}e) = eaae f(eaae)=eef(eaae)=eef(e\color{red}{aa}e) = ee f(ee)=f(ee)=f(\color{red}{ee}) = あなたの仕事は、(印刷可能なASCIIの)文字列を受け取り、それが完全にペアリングされているかどうかを判断する、完全にペアリングされたコンピューターコードを記述することです。 ソースのバイト文字列はそれ自体が完全にペアの文字列である必要がありますが、コードは必ずしも印刷可能なASCIIに制限する必要はありません。 2つの異なる値を出力できます。1つは入力が完全にペアリングされている場合、もう1つはペアリングされていない場合です。 これはコードとゴルフの質問であるため、回答はソースのバイト数でスコア付けされ、バイト数は少ない方が良いでしょう。 テストケース abbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc \rightarrow \mathrm{False}\\ abcba \rightarrow \mathrm{False}\\ abab \rightarrow \mathrm{False}\\ abbbaabacc \rightarrow \mathrm{True}\\ eabbccadde \rightarrow \mathrm{True}\\ bbbb …

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