タグ付けされた質問 「sorting」

この課題は、並べ替え、順序付け、またはその他の方法でデータセットを整理することによって解決することを目的としています。

2
BrainF ***でのQuickSortの実装[終了]
スタックオーバーフローのラウンジルームで説明したように: en.wikipedia.org/wiki/Quicksortに与えられたQuicksortアルゴリズムを最小限の知識しか持たない言語で実装できない場合は、別の職業を検討することをお勧めします。@sbi しかし、SBIは、BrainF ***は例外かもしれないとも指摘しました。 そこで、ここにパズル/チャレンジがあります:QuickSortをBrainF ***に実装します。実装は これおよび/またはここでのインタプリタによって解釈されます(大きなスクリプトの場合) ウィキペディアで説明されているアルゴリズムを実装します-可能であれば、インプレースソートとして 次の整数のリストをソートします:[0,4,6,4,2,3,9,2,3,6,5,3]および結果を出力します

6
教科書を並べ替える
教科書を並べ替える 学校はまもなく開始されます(まだ開始されていない場合)。したがって、教科書を整理する時が来ました。アルファベット順で本を並べ替える必要がありますが、時間がかかりすぎるため、プログラムを作成することにします。 例 入力: _ | | _ |F| | | |o|_|P| |o|B|P| | |a|C| | |r|G| |_|_|_| 出力: _ | |_ |F| | _|o|P| |B|o|P| |a| |C| |r| |G| |_|_|_| 入力 入力は、アルファベット順に並べ替える必要がある書籍のセットになります。:それだけが含まれます|、_、、とA-Za-z。書籍のタイトルは上下に垂直に読まれます。 入力に空白が埋め込まれ、長方形に収まると仮定することもできます。入力に空白を埋め込むことを選択した場合は、回答でこれを指定してください。 プログラムで処理する必要がある本の最大の高さは、失敗せずに5,120行です。 書籍は常に1枚の厚さで、入力では常に少なくとも1冊の本になります 出力 出力は、アルファベット順に整理された同じ本のセットである必要があります。書籍の高さは同じままであり、タイトルを再配置するときは上から同じ間隔にする必要があります。 書籍はアルファベット順にソートする必要があります。あなたの言語がソート機能を備えている場合、それを使用できます。それ以外の場合は、ここで説明するアルファベット順の並べ替えを使用できます。 書籍名の例 _ | | | | |F| |o| |o| | | …

30
2の累乗の合計
チャレンジ 整数の入力を指定xすると1 <= x <= 255、を合計したときに与える2のべき乗の結果を返しますx。 例 入力が与えられた場合: 86 プログラムは以下を出力するはずです。 64 16 4 2 入力: 240 出力: 128 64 32 16 入力: 1 出力: 1 入力: 64 出力: 64 特定の2のべき乗が合計に存在しない場合、出力にはゼロが含まれる場合があります。 たとえば、入力65はを出力する場合があります0 64 0 0 0 0 0 1。 得点 これはcode-golfであるため、各言語で最も短い回答が優先されます。
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

20
ファロは配列をシャッフルする
A ファロshuffleが頻繁に「シャッフル」デッキにマジシャンで使用される技術です。ファロシャッフルを実行するには、まずデッキを2つの等しい半分にカットしてから、2つの半分をインターリーブします。例えば [1 2 3 4 5 6 7 8] シャローファロは [1 5 2 6 3 7 4 8] これは何回でも繰り返すことができます。興味深いことに、これを十分な回数繰り返すと、常に元の配列に戻ります。例えば: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

8
これらのジェームズボンドの評価を並べ替える
前書き 私の祖父はジェームス・ボンドのファンですが、彼は彼の好きな俳優をどのようにランク付けするかについて常に確信がありません。そのため、彼は常にリストを作成していますが、これは大変な作業です。彼は私に彼の人生を楽にするプログラムを作成するように頼みましたが、私はそのための時間がありません、私は働かなければなりません!だから私はあなたたちを頼りにします。 チャレンジ 挑戦は簡単です。入力は、次の形式のリストで構成されます。 <number> <space> <actor's name> <newline> あなたの仕事は、行の先頭の番号に基づいて、最後から始めて最初で終わるようにそれらをソートすることです。すべての番号を削除する必要があります。 しかし、私の祖父は時々間違いを犯します。そのため、データを検証する必要があります。リストの名前のいずれかがボンドを演じた俳優のいずれかを参照していない場合、それを破棄する必要があります。繰り返しの場合は、繰り返しを削除し、名前に関連付けられた最小の重みを維持する必要があります(例#3)。 行数に制限はありません。 出力は、配列、カンマ区切りの文字列、スペースで区切られた値のみ、または完全に何か他のものであるかどうかにかかわらず、何らかのリストである必要があります。 Pierce Brosnan, Sean Connery, David Niven 末尾の改行またはスペースは許可されます。 入力と出力の例 入力: 1ショーン・コネリー 2エマ・ワトソン 5ティモシーダルトン 4ロジャー・ムーア 3ダニエル・クレイグ 出力: ティモシー・ダルトン、ロジャー・ムーア、ダニエル・クレイグ、ショーン・コネリー 入力: 2ティモシーダルトン 4ジョージ・ラゼンビー 5ジョージ・ラゼンビー 3ボブ・シモンズ 出力: ジョージ・ラゼンビー、ボブ・シモンズ、ティモシー・ダルトン 入力: 3ショーン・コネリー 2ピアース・ブロスナン 1ショーン・コネリー 出力: ピアス・ブロスナン、ショーン・コネリー これはコードゴルフなので、最短のコード(バイト単位)が勝ちです! 付録 ボンドの役割を演じた俳優のリスト: バリー・ネルソン ボブ・シモンズ ショーン・コネリー ロジャー・ムーア デビッド・ニーブン …

8
マージソートの視覚化
マージソートは、指定されたリストを半分に分割し、両方の小さなリストを再帰的にソートし、それらを1つのソート済みリストにマージして戻すソートアルゴリズムです。再帰の基本ケースはシングルトンリストに到達しているため、さらに分割することはできませんが、定義ごとに既にソートされています。 リスト上のアルゴリズムの実行は[1,7,6,3,3,2,5]、次の方法で視覚化できます。 [1,7,6,3,3,2,5] / \ split [1,7,6,3] [3,2,5] / \ / \ split [1,7] [6,3] [3,2] [5] / \ / \ / \ | split [1] [7] [6] [3] [3] [2] [5] \ / \ / \ / | merge [1,7] [3,6] [2,3] [5] \ / \ / merge [1,3,6,7] …

30
ASCIIの三角形
あなたの仕事は、ASCII三角形を印刷するプログラムまたは関数を書くことです。次のようになります。 |\ | \ | \ ---- プログラムはn、制約付きの単一の数値入力を受け取ります0 <= n <= 1000。上記の三角形の値はでしたn=3。 ASCIIの三角形にはnバックスラッシュ(\)と垂直バー(|)、n+1行とダッシュ(-)があり、各行には最終的な行のほかに行番号(0から始まる、つまり最初の行は行0)と等しいスペースがあります。 。 例: 入力: 4 出力: |\ | \ | \ | \ ----- 入力: 0 出力: このテストケースでは、出力は空でなければなりません。空白なし。 入力: 1 出力: |\ -- 入力と出力は、私が指定したとおりでなければなりません。 これはcode-golfなので、できるだけ短いコードを目指してください!
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

8
壊れやすいクイン
壊れやすいクイン 壊れやすいクインとは、評価時に単一文字を削除して各サブストリングを作成するというプロパティを満たすクインであり、エラーが発生します。 例えば。プログラムasdfがキネである場合、それが壊れやすいためには、次のプログラムでエラーが発生する必要があります。 sdf adf asf asd プログラム(およびそのすべての部分文字列)は完全に決定的であり、同じ言語である必要があります。無限ループに陥る(つまり、終了に失敗する)プログラムは、最終的にエラーを生成しなくても、このチャレンジの目的で「エラーを生成する」と見なされます。 通常のクイン制限を含む標準的な抜け穴が適用されます(たとえば、独自のソースコードを読み取れない)。 たとえば、print("foo")脆弱ではありません。これらのサブストリングはすべてエラーにする必要があります。 rint("foo") pint("foo") prnt("foo") prit("foo") prin("foo") print"foo") print(foo") print("oo") print("fo") print("fo") print("foo) print("foo" エラーにならないものは次のとおりです。 print("oo") print("fo") print("fo") だから壊れにくいわけではありません。 クインに関する重要な注意事項 コンセンサスによって、可能なすべての馬はこれを満たさなければなりません: プログラムの別の部分をエンコードするプログラムのセクションを識別することが可能でなければなりません。(「異なる」とは、2つの部分が異なる位置に表示されることを意味します。) さらに、クインは直接または間接的に自身のソースにアクセスしてはなりません。 例 JavaScriptのfunction#toStringは「独自のソースコードを読み取る」と考えているため、許可していません。ただし、私がそれを禁止しなかった場合、JavaScriptの壊れやすいクインを次に示します。 f=(n=b=`f=${f}`)=>(a=(n)==`f=${f}`,n=0,a)&(n!=b)?b:q テスター プログラムのソースコードを指定すると、エラーが発生する必要があるすべてのプログラムを生成するプログラムを次に示します。 let f = (s) => [...Array(s.length).keys()].map(i => s.slice(0, i) + s.slice(i + 1)).join("\n"); let …
30 code-golf  quine  code-golf  date  code-golf  sequence  code-golf  sorting  file-system  code-golf  code-golf  ascii-art  hexagonal-grid  code-golf  string  arithmetic  code-golf  code-golf  code-challenge  source-layout  code-golf  ascii-art  cellular-automata  code-golf  string  arithmetic  balanced-string  code-golf  number  primes  code-golf  ascii-art  hexagonal-grid  code-golf  string  code-golf  string  code-golf  sequence  code-golf  ascii-art  code-golf  conversion  hexadecimal  code-challenge  restricted-source  code-golf  math  grid  code-golf  string  ascii-art  code-golf  random  minesweeper  code-golf  ascii-art  kolmogorov-complexity  board-game  scrabble  code-golf  ascii-art  code-golf  math  number-theory  decision-problem  code-golf  string  code-golf  natural-language  code-golf  internet  stack-exchange-api  code-golf  code-golf  conversion  code-golf  string  code-golf  math  arithmetic  code-golf  string  whitespace  code-golf  graphical-output  internet  code-golf  string  code-golf  string  random  permutations  code-golf  string  code-golf  string 

29
インターリーブ文字列
インスピレーション。*私たちが以前にこの課題に直面したことはないと信じられません 仕事 1つ以上の印刷可能なASCII文字列が与えられた場合、各文字列から1文字ずつ、文字がなくなるまで周期的にインターリーブします。文字列が他の文字より前に文字を使い果たした場合、それ以降はその文字をスキップします。 例 SIMPLE 与える SIMPLE POLLSそしてEPEES与えるPEOPLELESS LYESそしてAPRONS与えるLAYPERSONS ABCDEそしてa cそして123 567与えるAa1B 2Cc3D E567 "\n$?*そして​(空の文字列)と,(.)" (末尾のスペース)は",\(n.$)?"* (末尾のスペース)を与える *より短いAPLソリューションがあります。

17
SE投稿で上位5つのコメントスコアを表示する
Stack Exchangeスクリプトは、サイトのメインページに最初に表示される質問または回答に関する5つのコメントを、それらへの賛成票の数によって決定します。投票数が最も多い5つのコメントが表示されます。あなたの仕事は、この動作を再現することです。 STDIN、コマンドライン引数、または関数の引数を使用して入力を取得する完全なプログラムまたは関数を作成し、上位5つのコメントスコアを出力または返します。入力は、ある投稿のコメントに対する賛成票の数を表す整数の配列になります。たとえば、の入力 0, 2, 5, 4, 0, 1, 0 は、最初のコメントには投票がなく、2番目のコメントには2票、3番目には5票、4番目には4票、というようになります。 入力に含まれるコメントスコアが5つ以下の場合、出力には指定されたもののみが含まれます。2つ以上のコメントスコアが同じ場合、最初のスコアが表示されます。入力配列には、少なくとも1つのコメントスコアが含まれると想定できます。 出力内の番号は簡単に区別できるはずです(したがって、ケース1の02541は無効です)。それ以外の場合、出力形式に制限はありません。数字はスペースまたは改行で区切られているか、リスト形式などになっている場合があります。 テストケース: [0, 2, 5, 4, 0, 1, 0] -> [0, 2, 5, 4, 1] [2, 1, 1, 5, 3, 6] -> [2, 1, 5, 3, 6] [0, 4, 5] -> [0, 4, 5] [1, 1, 5, 1, …

17
ある種のクイン
stringを指定すると、ソースコードでの表示順序に従ってx文字がxソートされて出力されます。 例 Source: ThisIs A Test Input: Is it a Test? Output: TissI etta? Source: Harry - yer a wizard. Input: I'm a what? Output: aa wh'?Imt Source: Mr. H. Potter, The Floor, Hut-on-the-Rock, The Sea Input: Output: ルール 標準的な抜け穴とI / Oルールが適用されます 入力と出力は、文字列、文字のリスト、またはバイトのリストのいずれかです。 If a character is used multiple times …

26
これらの変数に矢印を付けてください!
チャレンジ ロビンは、変数宣言を矢印の形にすることが好きです。彼のやり方は次のとおりです。 任意の数の文字列を入力してください 長さを昇順に並べる 次のように、中央で順序付けられた出力を出力し、おおよそマイナスの矢印を形成します(ゴルフの順序が最も良い場合)。 5 or 4 3 2 1 1 2 3 4 5 テストケース 入力: bow arrows sheriffOfNottingham kingRichard maidMarian princeJohn sherwoodForest 出力: sheriffOfNottingham kingRichard maidMarian bow arrows princeJohn sherwoodForest 入力: a bb cc 出力(両方とも有効): bb a cc cc a bb 入力: one four seven fifteen 可能な出力(他の有効な出力は垂直ミラーのみです): …

8
フロップする方法を教えてください
コンピューターサイエンティストとして、おそらくpopとpushの基本的なリスト操作に慣れているでしょう。これらは、要素のリストを変更する簡単な操作です。しかし、操作フロップについて聞いたことがありますか?(フリップフロップのように)?とても簡単です。番号nを指定すると、リストの最初のn要素を逆にします。以下に例を示します。 >>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> a.flop(4) [4, 3, 2, 1, 5, 6, 7, 8, 9, 10] フロップ操作のクールな点は、ソートなど、リストに対してクールなことを実行できることです。フロップでも同様のことを行います。 整数のリストを指定すると、「Neighbor it」。つまり、重複する要素がすべて連続して表示されるように並べ替えます。 これはフロップで行えます!たとえば、次のリストをご覧ください。 >>> a = [3, 2, 1, 4, 3, 3, 2] >>> a.flop(4) [4, 1, 2, 3, 3, 3, 2] >>> …

8
重力ソートを実行する
チャレンジ 整数のリストが与えられたら、重力ソートがどのように行われるかを示します。 重力ソート 重力ソートでは、数字をアスタリスクの行として想像してください。その後、すべてが落ち、新しい行が明らかにソートされます。例を見てみましょう: [2, 7, 4, 6]: ** ******* **** ****** ------- ** **** ******* ****** ------- ** | 2 **** | 4 ****** | 6 ******* | 7 これは、ほとんど並列化されたバブルソートであることに注意してください。 正確な仕様 各反復で、一番上の行から開始し、その下にアスタリスクのない行からすべてのアスタリスクを取得し、行の下に移動します。リストがソートされるまでそれを続けてください。 入力 入力は、厳密に正の整数のリストになります。 出力 出力については、各ステップを出力する必要があります。任意の2つの非空白印刷可能ASCII文字を選択できます。1つは「アスタリスク」で、もう1つは分離する「ダッシュ」です。アスタリスクの行は、ある種の標準改行(\nまたは\r\f)で区切る必要があります。ダッシュの行は、少なくとも最も広い行の幅である必要があります(そうしないと、アスタリスクが下がりすぎます!)。一番下のダッシュの列はオプションです。末尾の改行は許可されます。各行の末尾のスペースは許可されます。 テストケース 入力はリストとして表され、出力はすぐ下にリストされます。テストケースは二重改行で区切られています。 [4, 3, 2, 1] **** *** ** * ---- *** ** …

21
インデックスと値を交換する
タスク 入力が整数のリスト/配列Xであり、出力が整数Yのセットのリストであるプログラムまたは関数を記述します。これにより、各セットY [ i ]の各要素eに対して、X [ e ] = i、Yのセットの要素の総数がXの要素の数と等しくなるようにします。 (これは基本的にハッシュテーブル/辞書を逆にするのと同じ操作ですが、代わりに配列に適用されます。) 例 これらの例では1ベースのインデックス付けを想定していますが、必要に応じて0ベースのインデックス付けを代わりに使用できます。 X Y [4] [{},{},{},{1}] [1,2,3] [{1},{2},{3}] [2,2,2] [{},{1,2,3}] [5,5,6,6] [{},{},{},{},{1,2},{3,4}] [6,6,5,5] [{},{},{},{},{3,4},{1,2}] 明確化 必要に応じて、セットをリストとして表すことができます。その場合、要素の順序は重要ではありませんが、要素を繰り返すことはできません。 妥当な明確なI / O形式を使用できます。たとえば、セットの要素をスペースで区切り、セット自体を改行で区切ることができます。 Yは有限長で、少なくともXのすべての要素を配列インデックスとして持つのに十分な長さでなければなりません。ただし、Xの最大要素よりも長くなる場合があります(余分な要素は空のセットになります)。 Xの要素はすべて有効な配列インデックスになります。つまり、0ベースのインデックスを使用する場合は負でない整数、1ベースのインデックスを使用する場合は正の整数になります。 勝利条件 コードゴルフの挑戦、短い方が良いです。

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