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

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

18
これは有効なTakuzuボードですか?
Takuzuは、0sと1s を含むセルでグリッドを完成させる必要があるロジックゲームです。グリッドは3つのルールに従う必要があります。 3つの水平または垂直の連続したセルを同じにすることはできません。 等しい数でなければなりません 01各行と列に sとs。 2つの行が同じであったり、2つの列が同じであったりすることはできません。 完成したグリッドを見てみましょう。 0011 1100 0101 1010 あなたが見ることができるように、このボードは、ルールを次の1、2そして3。同じ3つの水平または垂直セルはありません。すべての行と列には同じ数の0sと1s が含まれ、2つの行と2つの列は同じではありません。 無効なグリッドを見てみましょう。 110100 010011 011010 101100 100011 001101 このグリッドには多くの問題があります。たとえば、行に5は3つ0のsがあり、列に2は3つ1のsがあり、その後に3が続き0ます。したがって、これは有効なグリッドではありません。 仕事: あなたの仕事は、n* n 0の2D配列と1 sボードを検証して、それが有効な完成したTakuzuボードかどうかを確認ことです。 例: 0011 1100 0101 1010 このボードはすべての規則に従っているため、有効なTakuzuボードです。このために真実の値を返さなければなりません。 11 00 これは有効なボード行で1はありません2。ルールはルールに従いません。これにはfalsey値を返す必要があります。 100110 101001 010101 100110 011010 011001 これは有効なボードではありません。ルール3により失敗(のみ)します-1行目と4行目は同じです。 110100 001011 010011 101100 100110 011001 これは有効なボードではありません。ルール3が原因で(のみ)失敗します-1列目と4列目は同じです。 …

30
洗濯を手伝ってください
助けて!私の濃色セパレータV3001.01からは完全に自動化されたライトが壊れました!:( ガイドライン 仕事 文字Lまたは文字D(明暗を表す)の任意の量の文字列の配列(または一部の言語のリスト)の入力を受け取り、2つの配列を含む配列を出力するプログラムを作成します。すべてのLと1つ、すべてのDと1つです。 ルール コードゴルフなので、バイト単位の最短回答が勝ちます 入力には大文字のみが含まれます 出力には、入力と同じ数のLがなければなりません。Dについても同じことが言えます。 入力には要素が1つしか含まれない場合があります(または要素がゼロの場合もあります) 出力配列の一方または両方に要素が含まれていない場合、空のリストを出力します(言語によっては、文字列を出力する必要がある場合があります) 常に最初の配列をLの配列にする 出力例: ["L","D","L","D","D"] -> [["L","L"],["D","D","D"]] ["L","L","L"] -> [["L","L","L"],[]] ["D","D"] -> [[],["D","D"]] [] -> [[],[]]

6
行列のリストの表記法を修正する、パート1
時々、コードに定数行列のリストがあります: [ [[1, 0], [0, 1]], [[1, 0], [0,-1]], [[0, 1], [1, 0]], [[0,-1], [1, 0]] ] これは、画面領域のひどい使い方です。私はむしろそれらを隣同士に書きたいです: [ [[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, 0]] ] これはまだ構文的に有効なネストされたリストであり、もはや長方形ではなく、非常に異なる構造を持っていることがわかります(特に、1x1より大きい行列を追加するたびに深くなります)。ただし、この新しいリストから行列の初期リストを再構築することはまだ可能です。 将来この構文を使用できるように、水平配置で記述された配列を、それらが表す行列のリストに変換するコードを記述する必要があります。 回答がソースコードのレイアウトで2Dパターンマッチングを実行しないように、入力は単なる配列オブジェクトとして、または文字列表現を使用する場合は、どのように空白を含まないかを指定します。リテラルはコードで書かれています。したがって、次のような入力が得られます。 [[[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, …

8
季節のプレゼントを包む
仕事 ラッパー要素とギザギザのない3D配列を指定して、配列の上部、下部、および全周をラップします。文字データと数値データの両方を処理する必要がありますが、ラッパーと現在のデータ型は同じです。 キャラクターの例 文字データの場合、単一文字の3D配列または文字列の2D配列を処理することを選択できます。 2層、2行、4列の文字配列を考える [[["Y","o","u","r"], ["g","i","f","t"]], [["g","o","e","s"], ["h","e","r","e"]]] そして、文字"."、4層、4行、6列の文字配列に答えます [[[".",".",".",".",".","."], [".",".",".",".",".","."], [".",".",".",".",".","."], [".",".",".",".",".","."]], [[".",".",".",".",".","."], [".","Y","o","u","r","."], [".","g","i","f","t","."], [".",".",".",".",".","."]], [[".",".",".",".",".","."], [".","g","o","e","s","."], [".","h","e","r","e","."], [".",".",".",".",".","."]], [[".",".",".",".",".","."], [".",".",".",".",".","."], [".",".",".",".",".","."], [".",".",".",".",".","."]]] または、4文字の文字列の2行2列の配列を指定します [["Your", "gift"], ["goes", "here"]] そして、文字"."、6文字の文字列の4行4列の配列に答えます [["......", "......", "......", "......"], ["......", ".Your.", ".gift.", "......"], ["......", ".goes.", ".here.", "......"], ["......", "......", "......", "......"]] 数値の例 2層、2行、2列の数値配列が与えられた場合 …

30
私の変化を数える
あなたの仕事は、彼らがこの順になっているので、ということがない特定の順序で「DIME」、「ニッケル」、および「ペニー」、何度でも文字列「四半期」を含む配列をソートし、ソートそれらすることです。quarter dime nickel penny(つまり、最大から最小の金額)。 ルール プログラムは、入力として米国のコインの名前を含む配列を取り、金銭的価値の大きい順に並べる必要があります。 米国から来ていない人、または変更を使用していない人にとって、米国の硬貨の価値は次のとおりです。 四半期:25セント ダイム:10セント ニッケル:5セント ペニー:1セント 出力が上記の金額で並べ替えられている限り、この配列を任意の方法で並べ替えることができます。 入力は、コマンドライン引数またはSTDINのいずれでも、任意の方法で取得できます。 入力配列はすべて次のような小文字の文字列になります。 quarter dime nickel nickel quarter dime penny penny 入力と出力の実際の形式はあなた次第です。 テストケース "penny nickel dime quarter" -> "quarter dime nickel penny" "nickel penny penny quarter quarter quarter dime dime dime dime" -> "quarter quarter quarter dime dime dime …

28
整数のリストをランク付けする
正の整数の空でないリストが与えられます、例えば [6 2 9 7 2 6 5 3 3 4] これらの数値はその値でランク付けする必要がありますが、リーダーボードでは通常どおり、同点の場合、同点の数値はすべて同じランクになり、適切な数のランクはスキップされます。したがって、上記のリストに期待される出力は次のようになります [3 9 1 2 9 3 5 7 7 6] たとえば、入力の最高値は9であったため、これは1(最初のランク)になります。3番目に高い値は6ですので、両方6が3になり、ランク4は完全にスキップされます。 ルール 入力および出力には、便利で明確なフラットリスト形式を使用できます。出力の最初/最小ランクは常に1でなければなりません。 プログラムまたは関数を作成し、入力を受け取り出力を提供する当社の標準的な方法を使用できます。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース [8] -> [1] [1 15] -> [2 1] [18 14 11] -> [1 2 3] [11 16 14 8] -> [3 …

3
原子プロポーションのゲーム
あなたのタスクはAtomasをプレイするボットを作成し、最高スコアを獲得します。 ゲームの仕組み: ゲームボードは、6つの「原子」のリングから始まります。 1します3。原子自体に応じて、2つの原子間または別の原子上で原子を「再生」できます。 通常のアトムまたは特別なアトムを使用できます。 通常の原子: ボード上の任意の2つの利用可能な原子の間で通常の原子を再生できます。 範囲内の原子から始めます1 to 3が、範囲は40移動ごとに1ずつ増加します(したがって、40移動後に範囲は2 to 4)。 ボード上に範囲よりも低い原子がある場合1 / no. of atoms of that number on the board、スポーンする可能性があります。 2プレイする必要があるとしましょう。ボードは次のようになります。 1 1 2 1 2の右側に配置しましょう1。 ボードは次のようになります。 1 1 2 1 2 注:ボードは折り返されているので、1左端は実際には2右端のます。これは後で重要になります。 「特別な」アトムには4つのタイプがあり、それらは次のとおりです。 の +アトム: このアトムは、2つのアトム間で再生されます。産卵の確率は5分の1です。 原子の両側の+原子が同じ場合、融合が発生します。仕組みは次のとおりです。 The two atoms fuse together to create an atom …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

30
指定された幅で#の中空の正方形を描画します
私はCodingameからこの課題を受け取り、私のものよりも優れたソリューションに興味があります。 標準入力を使用して幅を指定すると、指定された幅と長さで「#」の中空の四角形が描画されます。 例: 5の結果 ##### # # # # # # ##### 私はこれを解決するためにPythonを使用したので、他のPythonコードに特に興味があります。ただし、必要な言語でソリューションを投稿してください。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

7
これは部分行列ですか?
これは、この課題の2次元の一般化です。 私たちの目的では、Bから行と列の数を完全に削除してAを取得できる場合、1つの行列(または2D配列)Aは別の行列Bの部分行列と見なされます。(注:一部のソースには、異なる/より制限的な定義があります。) 以下に例を示します。 A = [1 4 B = [1 2 3 4 5 6 2 1] 6 5 4 3 2 1 2 1 2 1 2 1 9 1 8 2 7 6] Bから列2、3、5、6および行2、4を削除してAを取得できます。 B = [1 2 3 4 5 6 [1 _ _ 4 _ _ …

14
1の最大長方形を見つける
バックグラウンド 土地を購入して、その上に家を建てたいです。私の家は長方形で、できるだけ大きくなければなりません。しかし、利用可能なプロットには、私が構築できない岩の多いエリアがたくさんあり、プロットに潜在的な家を当てるのに苦労しています。私にプロットを分析するプログラムを書いてほしい。 入出力 入力は、妥当な形式の、少なくとも1×1サイズの長方形の2Dビット配列です。配列は土地のプロットを表します。1sは家を建てることができる「良い」エリアであり、0sは家を建てることができない「岩だらけの」エリアです。 出力は1、入力配列内のsの塗りつぶされた長方形の最大領域になります。それは、私がプロット上で構築できる最大の家の面積を表しています。1入力にs がない場合、出力はであることに注意してください0。 例 入力を検討する 101 011 111 1s の最大の長方形は、右下隅の2×2の長方形です。これは、正しい出力がであることを意味します4。 ルールとスコアリング 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 0 -> 0 1 -> 1 00 00 -> 0 01 10 -> 1 01 11 -> 2 111 010 111 -> 3 101 011 111 -> 4 0111 1110 1100 -> 4 1111111 …

1
整数を分離する
前書き トポロジーとして知られる数学の分野では、分離公理と呼ばれるものがあります。直感的に、のセットXとサブセットのコレクションがありX、これらをプロパティと考えることができます。Xプロパティに基づいてすべてのアイテムを区別できる場合、システムは十分に分離されています。分離公理はこの考えを形式化します。この課題でのタスクは、指定された3つの分離公理Xとプロパティのリストを確認することです。 入力 入力は整数n ≥ 2であり、整数のリストのリストTです。の整数はTから描画されX = [0, 1, ..., n-1]ます。のリストはT空でソートされていない場合がありますが、重複は含まれません。 出力 出力は4つの文字列の1つであり、3つの分離公理によって決定され、それぞれが最後のものよりも強力です。他の公理もありますが、簡単にするためにこれらを使用します。 すべてのdistinct xおよびyinについてX、Tそのうちの1つだけを含むリストが存在するとします。次にX、公理T0をT満たします。 すべての明確なためと仮定xし、yでX、そこに二つのリストが存在してT含まれているの一つ、xではなくy、その他に含まれていyますがありませんx。次にX、公理T1をT満たします。 上記の2つのリストにも共通の要素が含まれていないとします。次にX、公理T2をT満たします。 あなたの出力は次のいずれかであるT2、T1、T0またはTS、(保持している上記の条件のどれに応じて、TSそれらの手段のどれも行いません)。T2はT1よりも強く、T1はT0よりも強いことに注意してください。常に可能な限り強い公理を出力する必要があります。 ルールとスコアリング 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 2 [] -> TS 2 [[],[1]] -> T0 2 [[0],[1]] -> T2 3 [[0],[0,1,2],[1,2]] -> TS 3 [[],[0],[0,1],[2]] -> T0 3 [[0],[0,1],[2,1],[0,1,2]] -> T0 3 [[0],[0,1],[2,1],[2,0]] -> T1 6 …

2
これらの木は同型ですか?
前書き この課題では、与えられた2つのツリーが同型かどうかを判断するプログラムを作成します。ツリーとは、ルートを除くすべてのノードの発信エッジが1つだけである有向非循環グラフを意味します。ノードの名前を変更して一方を他方に変換できる場合、2つのツリーは同形です。たとえば、2つのツリー(すべてのエッジが上を向いている) 0 0 /|\ /|\ 1 3 4 1 2 5 |\ /| 2 5 3 4 簡単に同型であることがわかります。 L次の方法で、ツリーを非負整数のリストとしてエンコードします。ツリーのルートにはラベルがあり0、ノードもあり1,2,...,length(L)ます。各ノードにi > 0は、L[i](1ベースのインデックス付けを使用して)発信エッジがあります。たとえば、リスト(要素の下にインデックスが指定されている) [0,0,1,3,2,2,5,0] 1 2 3 4 5 6 7 8 ツリーをエンコードします 0 /|\ 1 2 8 | |\ 3 5 6 | | 4 7 入力 入力は、ネイティブ形式または言語で指定された2つの非負整数のリストです。上記で指定した方法で2つのツリーをエンコードします。それらについて、次の条件を想定できます。 空ではありません。 それらは同じ長さです。 …

18
整数パーセント
正の整数のリストを受け取り、同じ位置にある対応する整数の合計のパーセントに近い整数のリストを返す関数を作成します。 返されるリスト内のすべての整数は、正確に100まで加算する必要があります。渡された整数の合計は0より大きいと仮定できます。どちらの方向でも1を超えてオフになりません。 p([1,0,2]) -> [33,0,67] or [34,0,66] p([1000,1000]) -> [50,50] p([1,1,2,4]) -> [12,12,25,51] or [13,12,25,50] or [12,13,25,50] or [12,12,26,50] p([0,0,0,5,0]) -> [0,0,0,100,0] これはcode-golfなので、バイト単位の最短コードが勝ちです!

16
ビットストリング物理学
バックグラウンド はい、ビットストリング物理学は本物です。アイデアは、確率論的ルール...または何かの下で進化するビット列のみを使用して、物理学の新しい理論を構築することです。それについていくつかの論文を読んだにもかかわらず、私はまだかなり混乱しています。ただし、ビットストリングユニバースは、素敵な小さなコードゴルフを実現します。 プログラムユニバース ビットストリング物理学は、いわゆるプログラムユニバースで行われます。宇宙の進化の各ステップには、2要素のリストで始まる、L長さのあるビット文字列の有限リストがあります。1つのタイムステップは、次のように処理されます(Pythonのような擬似コード)。k[10,11]k = 2 A := random element of L B := random element of L if A == B: for each C in L: append a random bit to C else: append the bitwise XOR of A and B to L すべてのランダムな選択は、一様にランダムであり、互いに独立しています。 例 4ステップの進化の例は次のようになります。最初のリストから始めますL。 10 11 同じ行であるA …

11
ハウスドルフ距離の計算
前書き ハウスドルフ距離は、距離空間の2つのサブセットの間の差を測定します。直観的には、距離空間は組み込みの距離関数を備えた単なるセットです。この課題では、通常の距離の自然数を使用しますd(a, b) := abs(a - b)。二つの非空有限集合間のハウスドルフ距離AとBによって与えられます。 max(max(min(d(a, b) for b in B) for a in A), max(min(d(a, b) for a in A) for b in B)) Pythonのような表記法で。ハウスドルフ距離がの要素見つけることによって計算することができるAそのための最も近い要素までの距離がB最大との要素であるBの最も近い要素にする距離A最大であり、そして、これらの距離の最大値を取っています。ハウスドルフ距離が言い換えれば、d後のすべての要素は、A距離内にあるdいくつかの要素のB、およびその逆。 入力 入力は整数の単一リストです。それだけの要素が含まれ0,1,2,3、リストの指定されたインデックスは、どちらの要素であるかどうかを意味し、AでもB、のみA、のみB、または両方AとB。たとえば、0から始まるインデックスを使用する場合、入力[0,1,1,0,2,3]はA = {1,2,5}andを意味しB = {4,5}ます(メトリックは翻訳不変なので、違いはありません)。 出力 出力は、Aとの間のハウスドルフ距離Bです。上記の例では、です3。いずれかのセットが空の場合、距離は定義されていないため、を返し-1ます。 ルール 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース [] -> -1 [0] -> -1 [0,1,0] -> -1 [2,0,0,2] -> …

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