タグ付けされた質問 「array-manipulation」

配列の使用と操作を通じて特定の問題を解決するための競争。

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

7
フチ無しテーブル
このチャレンジでは、アルファベットの文字をデカルト平面に配置し、結果をテキストとして出力します。 入力は、3つのパラメーターを持つリストのリストで構成されます。 X座標 Y座標 ストリング どうやって? 我々は、デカルト平面の2つの軸含まれていることを知っているの兆候場合と4つの象限座標は((及び。例えば(X、Y)(バツ、Y)(X, Y)(X、Y)(バツ、Y)(X,Y)(+ 、+ )(+、+)(+,+)(− 、+ )(−、+)(−,+)(− 、− )(−、−)(−,−)(+ 、− )(+、−)(+,−) 次の3行3列の行列をデカルト平面として考えます (- 1 、1 )(- 1 、0 )(− 1 、− 1 )(0 、1 )(0,0)(0,−1)(1,1)(1,0)(1,−1)(−1,1)(0,1)(1,1)(−1,0)(0,0)(1,0)(−1,−1)(0,−1)(1,−1)\begin{matrix} (-1,1) & (0,1) & (1,1) \\ (-1,0) & (0,0) & (1,0) \\ (-1,-1) & (0,-1) & (1,-1) \end{matrix} 入力で与えられた場合[[-1,1,L],[0,1,F]]、マトリックスのようなものは次のようになります。 L(- …

2
マトリックスのルービック分類(別名トーラスパズル)
このコードチャレンジのアイデアは単純です。整数の行列が与えられた場合、ルービックスタイルの動きを適用して並べ替えます。つまり、単一の行または列を選択し、その要素を任意の方向に回転できます。 [1, 3, 2, 4] => [3, 2, 4, 1] (rotate left for rows/up for columns) [1, 3, 2, 4] => [4, 1, 3, 2] (rotate right for rows/down for columns) したがって、任意の次元の整数の行列が与えられた場合、これらのルービックスタイルの変換のみを適用して要素を並べ替えます。行列 ⎡⎣⎢a11a21a31a12a22a32a13a23a33a14a24a34⎤⎦⎥[a11a12a13a14a21a22a23a24a31a32a33a34] \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ a_{21} & a_{22} & a_{23} & a_{24} \\ …

8
勾配で地域を分類する
定義 K 番目の大きさの正方行列の環N、1つの≤K≤天井(N / 2)の要素によって形成されたリストであるk個目と(N-K + 1)番目の行と列が、無し最初と最後のk-1要素。 例: マトリックス: 1 2 3 4 5 6 7 8 9 1 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 リングで区切られた: + ------------------- + | 1 2 3 4 5 | | + ----------- + | …

26
サブ配列内の等しい数
数字の配列を指定length >=3し、length % 3 == 0 [1, 2, 3, 4, ...] 長さ3のサブ配列に分割します [[1, 2, 3], [4, 5, ...], [... そして、配列を返します [0] => すべての数値が等しいサブ配列内のケースの量 [1] =>サブ配列内のすべての数値が等しくない場合、2つの数値のみが等しいサブ配列内のケースの量 例とテストケース: 入力:[2, 4, 2, 5, 5, 5, 4, 2, 1, 3, 3, 1]出力[1, 2] それの訳は [[2, 4, 2], [5, 5, 5], [4, 2, 1], [3, …

13
遺伝子交差アルゴリズムの実行
あなたの仕事は、2つの遺伝子配列と「クロスオーバーポイント」の配列を入力として受け入れ、指定されたクロスオーバーから生じる遺伝子配列を返すことです。 これが意味するのは、シーケンス[A, A, A, A, A, A, A]、および[Z, Z, Z, Z, Z, Z, Z]、およびのクロスオーバーポイントがある2とし5ます。結果のシーケンスは[A, A, Z, Z, Z, A, A]次のとおりです。 クロスヒア:VV インデックス:0 1 2 3 4 5 6 遺伝子1:AAAAAAA 遺伝子2:ZZZZZZZ 結果:AAZZZAA ^ ^ ここではわかりやすくするために文字を使用していますが、実際の課題では遺伝子に数字を使用しています。 結果は、クロスオーバーポイントに到達するまで最初のシーケンスであり、次に別のクロスオーバーポイントに到達するまで2番目のシーケンスから結果が取得され、次にクロスオーバーポイントに到達するまで最初のシーケンスから結果が取得されます... 入力: 入力は、任意の合理的な形式にすることができます。2つのシーケンスは、ポイントを2番目の引数とするペアにすることができます。3つすべては、個別の引数、単一のトリプレット、(genes 1, genes 2, cross-points)名前付きキーを持つマップ... クロスポイントは常に整然としており、常にインバウンドになります。重複するポイントはありませんが、クロスオーバーポイントのリストは空の場合があります。 遺伝子配列は常に同じ長さで、空ではありません。 インデックスは、0または1ベースにすることができます。 遺伝子は常に0〜255の範囲の数値になります。 どの引数が「genes 1」または「genes 2」であるかは関係ありません。クロスオーバーポイントがない場合、結果は完全に「遺伝子1」または「遺伝子2」のいずれかになります。 出力 出力は、あいまいでない任意の合理的な形式にすることができます。数字の配列/リスト、文字列の数字の配列、数字の区切り文字列(数字以外の文字で数字を区切る必要があります)... …

7
ログの山を測定する
前書き これは長さ5のログです。 ##### 私はこれらのログの束を互いに積み重ねたいです。これを行うには、新しいログを右から一番上のログにスライドさせ、左または右の端が揃うとスライドを停止します(理由は聞かないでください)。新しいログの方が長い場合、一番上のログの左端までスライドします。 ######## <- ##### 短い場合、右端が揃うまでスライドします。 ###### <- ######## ##### より多くのログをパイルにスライドさせると、それらの位置は現在の一番上のログによって決まります。 ## ###### ### #### ## ###### ######## ##### これは物理的に不可能に見えますが、動作するふりをしましょう。 タスク あなたの入力は、ログの長さを表す正の整数の空でないリストでなければなりません。左端の数字は、私が最初に山に置いたログなので、一番下になります。上記の例では、入力はになります[5,8,6,2,4,3,6,2]。出力は、結果の山の各列について、その列を通過するログの数になります。上記の例では、正しい出力はになります[2,2,3,3,3,2,4,6,3,3,1,2,2]。 ルールとスコアリング 入力および出力は、任意の合理的な形式にすることができます。出力には正の整数のみを含めることができます。つまり、先頭または末尾0のsを含めることはできません。通常のコードとゴルフのルールが適用されます。完全なプログラムまたは関数を記述でき、最小バイト数が優先され、標準の抜け穴は禁止されます。 テストケース [1] -> [1] [4] -> [1,1,1,1] [3,2] -> [1,2,2] [2,3] -> [2,2,1] [2,2,2] -> [3,3] [2,3,2] -> [2,3,2] [3,2,3] -> [1,3,3,1] [1,3,2,2,1,3,1] -> …

30
一連の課題#3:移動平均
注:これは、一連のアレイ操作の課題の3 番目です。前のチャレンジについては、ここをクリックしてください。 リストの移動平均 リストの移動平均は、元の小さな重複サブリストを平均化することによって作成された、新しい平滑化されたリストを生成する計算です。 移動平均を作成するとき、特定の「ウィンドウサイズ」を使用して重複するサブリストのリストを最初に生成し、このウィンドウを毎回右にシフトします。 たとえば、リスト[8, 4, 6, 2, 2, 4]とウィンドウサイズを指定する3と、サブリストは次のようになります。 [8, 4, 6, 2, 2, 4] Sublists: ( ) <- [8, 4, 6] ( ) <- [4, 6, 2] ( ) <- [6, 2, 2] ( ) <- [2, 2, 4] 次に、各サブリストの平均値を計算して結果を取得します[6.0, 4.0, 3.3, 2.7](各値は小数点以下1桁に丸められます)。 チャレンジ あなたの仕事は、リストLおよび整数1≤n≤length(L)が与えられ、ウィンドウサイズnを使用してLの移動平均を計算するプログラムまたは関数を書くことです。 ルール: プログラムでは、整数除算または浮動小数点除算を使用できます。浮動小数点除算の場合、値がそれ以外の場合に正しい限り、データ型の制限によるわずかな不正確さが許可されます。 …

14
ネクタイ付きマリオカートスコアリング
私はこのサイトのために作っている別の挑戦に取り組んでいる間、この問題に遭遇しました。そのチャレンジでは、「マリオカート8スコアリング」を利用します。k位のプレーヤーが獲得するポイントの量は、この1インデックス配列[15,12,10,9,8,7,6,5,4,3,2,1]で表されます。したがって、1位には15ポイント、2位には12ポイントなどが割り当てられます。 このようにポイントを割り当てるのは十分簡単ですが、トリッキーな部分にはタイの処理方法が付属しています。私がしていることは、各タイイングプレイヤーに各タイイングプレイスに与えられたポイントの平均を与えることです。たとえば、1番目と2番目だけが同点の場合、両方のプレイヤーは(15 + 12)/ 2 = 13.5ポイントを獲得します。(注:最も近い整数に丸めることができるため、13または14の両方を使用することもできます。)3位から12位までは、通常の位置のポイントを獲得します。 チャレンジ 12個の非負の整数スコアが徐々にソートされている場合、各プレーヤーが獲得するポイント数を出力します。入力としてポイントリスト[15,12,10,9、...]を使用することもできます。各プレイヤーが獲得するポイントの数は、スコアの実際の値ではなく、他のスコアとの比較方法に依存することに注意してください。 テストケース 【21,21,15,14,12,9,6,5,4,3,2,1] => [ 14,14、10,9,8,7,6,5,4,3,2、 1] 【20,15,15,15,10,9,8,7,6,5,4,3] => 15、10,10,10、8,7,6,5,4,3,2、 1] 説明:(12 + 10 + 9)/ 3 = 10.3333 [1,1,1,1,1,1,1,1,1,1,1,1,1] => [ 7,7,7,7,7,7,7,7,7,7,7、 7 ] 説明:(15 + 12 + 10 + 9 + 8 + 7 + 6 + 5 + 4 …

10
リスクバトル:ダウンする
Riskでの戦闘のための2つのサイコロのリストを考えると、プログラムまたは機能は、各プレイヤーが失う軍隊の数を出力する必要があります。 バックグラウンド あなたはこれを読む必要はありません。それは単なる背景です。「タスク」の小見出しにスキップして、衰えずに続行します。 リスクのゲームでは、1人のプレイヤーが別のプレイヤーを攻撃できます(実際、これは勝つために必要です)。戦闘の結果は、サイコロの出目によって決まります。すべてのバトルは、各プレイヤーが最大で負けるサブバトルの連続として発生します2で軍隊のピースます。 サブバトルでは、ディフェンダーとアタッカーはそれぞれ、このチャレンジとは無関係の状況に基づいて数が異なる可能性のあるいくつかのサイコロを振ります。攻撃者の最も価値のあるダイスは、防御者の最も価値のあるダイスと比較されます。攻撃者のダイスが防御者のダイスよりも高い場合、防御者は1ピースを失います。それ以外の場合、攻撃者は1つのピースを失います。 次に、両方のプレイヤーが少なくとも2つのサイコロを持っている場合、2人のプレイヤーの2番目に高いサイコロが比較されます。繰り返しますが、攻撃者のダイスが防御者のダイスよりも高い場合、防御者は1ピースを失います。それ以外の場合、攻撃者は1つのピースを失います。 (防御側が同点を勝ち取ります。防御側と攻撃側の両方がをロールした4場合、攻撃側は駒を失います。) ウィキペディアの記事のこのサブバトルでは、攻撃者のサイコロは赤で、防御者のサイコロは白です。攻撃者のサイコロ4の最高値はであり、防御者のサイコロの最高値は3です。攻撃側の方が高かったため、防御側はピースを失います。二番目に高い3、攻撃者と2防御者です。攻撃者が再び高くなったため、防御者は別のピースを失います。したがって、このサブバトルでは、攻撃者はピースを失いませんし、防御者は2ピースを失います。 3番目に高い部分は比較されないことに注意してください。これは、ディフェンダーが1つのサブバトルで2つ以下のサイコロを持っているため、これまでに比較する3番目に高いピースがないためです。 仕事 リスクのサブバトルの攻撃者と防御者の両方の任意の便利な形式の未分類のサイコロ(1〜6の範囲の整数)を考慮して、各プレイヤーが失う軍隊の数を出力します。5つの可能性を示すさまざまな出力がある限り、出力は任意の便利な形式にすることができます。質問には、これらの異なる出力が何であるかを示す必要があります。 出力は次のように決定されます。開始とdef=0とatk=0。攻撃者のさいころのリストの最大値が、防御者のさいころのリストの最大値よりも大きい場合、増分しますdef。それ以外の場合、インクリメントしますatk。 サイコロの両方のリストの長さが少なくとも2である場合:攻撃者のサイコロのリストの2番目に大きい値がリストの2番目に大きい値よりも大きい場合、インクリメントしdef、そうでなければインクリメントするatk。 最後に、プログラムまたは関数は、次の5つの出力候補のそれぞれに対して一意の識別子を出力する必要があります。 ╔═══╦═══╗ ║atk║def║ ╠═══╬═══╣ ║ 1 ║ 0 ║ ║ 0 ║ 1 ║ ║ 2 ║ 0 ║ ║ 1 ║ 1 ║ ║ 0 ║ 2 ║ ╚═══╩═══╝ 例 防御者:[3, 2] 攻撃者:[2, 4, 1]防御3者の最大値と攻撃者の最大値はです4。4>3のでdef=1 、防御側の22番目は攻撃側の2番目です2。Not(2>2)、そうatk=1。出力は次のようになります[1,1]。 …

9
交互のサインマトリックス検証
交番符号行列であるnことにより、n数字からなるマトリックス-1、0、1、その結果: 各行と列の合計は1です 各行と列のゼロ以外のエントリは符号が交互になります これらの行列は順列行列を一般化し、与えられnた行列の数はしばらくの間興味がありました。それらは、行列決定要因を計算するドッジソン凝縮法(ルイスキャロルとしてよく知られているチャールズドッジソンにちなんで命名)の間に自然に発生します。 4 x 4の交互符号行列の例を次に示します。 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 -1 1 1 0 -1 1 1 0 0 0 0 1 -1 1 1 -1 1 …

10
ジャムはそのように追加しないでください
バックグラウンド Jellyの算術原子は自動的にベクトル化します。実際には、X + Yはいつでも明確に定義されているX及びYは、数値または数値の不揃い配列です。Jellyのソースコードは、ジェネリックベクトライザーを使用してこの動作を実装しますが、この課題では、整数とネストされた整数配列の追加のみを考慮します。 定義 深さを定義Xをとして0あればxはのように、整数である1が整数の(おそらく空の)平坦アレイであり、そして場合としてN + 1は少なくとも一つの深さの要素が含まれている場合、Nと深さのない要素kは> n個。 このように、1は深さ0、[]と[1]、[1、1]は深さ1、[[]、[]]と[[1]、[1]]と[[1]]と[1 、[]]は深さ2、[1、[1、[1]]]は深さ3などです。 操作x + yは、次のように定義されます。 場合のxとyは深持っ0を、その合計を返します。 場合、XとYが等しいが正の深さを有する、再帰的に適用+のすべての項目にXとの対応する項目Y。 xとyの長さが異なる場合、長い配列の末尾を合計の配列に追加します。 結果を返します。 場合のxの深さがより厳密に小さいYの深さ、再帰的に適用されます+にXとのすべてのアイテムのy、その結果を返します。 yの深さが厳密にxより小さい場合は、逆の操作を行います。 たとえば、操作[1、[2、3]、[4]] + [[[10、20]、[30]、40、50]、60]を考えます。 左引数の深さは2で、右引数の深さは3なので、[1、[2、3]、[4]] + [[10、20]、[30]、40、50を計算します]および[1、[2、3]、[4]] + 60。 [1、[2、3]、[4]]および[[10、20]、[30]、40、50]は両方とも深さが2であるため、1 + [10、20]、[2、3 ]を計算します+ [30]及び[4] + 40。 1 + [10、20] = [1 + 10、1 + 20] = [11、21] [2、3] + [30] = …

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0<=k<nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

10
列からのブロック対角行列
Stack Overflowのこの質問からコピーしたものに触発されました。 行列が与えられた場合A、Bの列がAブロック対角形式で配置されるように行列を作成します。たとえば、与えられた 1 2 3 4 5 6 出力は 1 0 0 4 0 0 0 2 0 0 5 0 0 0 3 0 0 6 ルール 入力と出力は、2D配列、ネストされた配列、または行と列の区切り文字が異なる文字列の形式です。 入力(行列A)の数値は正の整数になります。 出力のゼロが何らかの合理的な方法で表示される限り、単項形式が許可されます。たとえば、上記の結果は、引用符を使用して各番号を囲むことで表示できます。 '1' '' '' '1111' '' '' '' '11' '' '' '11111' '' '' '' '111' '' '' '111111' …

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