タグ付けされた質問 「balanced-string」

バランスのとれた文字列では、文字または部分文字列の特定のペアが常に同じ量で表示されます。多くの場合、これらのペアも注文する必要があるという追加の制限があります。最も一般的な例は、正しく括弧で囲まれた文字列です。[palindrome]および[syntax]タグも参照してください。

4
コード説明フォーマッター
成功したコードゴルフの提出は、本質的に、至る所に狂ったシンボルで満たされています。投稿を理解しやすくするために、多くのコード愛好家は自分のコードの説明を含めることを選択します。彼らの説明では、コードの行は垂直分解図に変わります。 たとえば、これが私のコードだった場合: 1_'[3:~2@+]` 作成できる多くの図の1つは次のようになります。 1 _' [ ] [3: ] [ ~ ] [ 2@ ] [ +] ` 目標 この課題では、コードの行を取得し、説明テキストを簡単に追加できるダイアグラムを作成する説明自動フォーマットツールを作成します。 これをより便利な課題にするために、ユーザーはフォーマット文字列を提供することにより、各行の内容を指定できます。書式設定文字列は、文字のみを含む2行目でA-Za-z、プログラムと同じ長さです。文字は、説明の中でプログラムの文字を印刷する順序を示しています。 以下は、ブラケットのような書式設定のない I / Oの例です。 123423 AabcBC 1 2 3 2 3 4 ブラケット プログラム内の複数の文字が同じ優先度レベルを持っている場合、その文字セットはコードの単一ブロック(グループを形成する場合)またはブラケットセット(それらが間に他の文字を含む場合)として機能します。一般的なルールは簡単です: 優先順位の高い他のすべての文字が図のその上の行に既に表示されるまで、文字は図の行に表示されません。 同じ優先順位の文字は常に同じ行に印刷されます。特定の文字が行に表示される場合、同じ優先順位の他のすべての文字が行に表示されます。 同じ優先順位の文字のセットは、それに囲まれた他のすべての文字が少なくとも1回現れるまで、各行に現れ続けます。これにより、「ブラケットのような」構造が可能になります。bceab優先度がある場合、b文字は2行目に表示され(2番目に高い優先度です)、すべてのcea文字が表示されるまで表示され続けます。優先度文字列がabcadeafgaである場合、すべてがその中にbcdefg含まれていると見なされ、4 aが出現するまで4 がすべて表示され続けgます。 その他のフォーマット要件 出力のすべての行は同じ長さ(入力行の長さ)で、必要に応じてスペースが埋め込まれている必要があります。入力プログラム行にはスペースが含まれる場合がありますが、これらのスペースにも優先文字が与えられます。出力/入力の末尾の改行はオプションです。 得点 これはコードゴルフで、最少バイトが勝ちます。 例 ここに、より複雑なフォーマットを使用したコードのコメント例を示します。 1_'[3:~2@+]` abbcddeffgch 1 …

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 

9
ブダペスト
課題は簡単です。有限の非負整数が与えられると、ネストされた配列を出力するプログラムまたは関数を作成します。 ルール コードは、整数0 ‌≤ n ‌ <2 31 ごとに一意の有効なネストされた配列を生成する必要があります。 最大16個のオープンブラケットを持つネストされた配列はすべて、この範囲内で出力する必要があります。(これは、コードが16個を超える開き括弧を持つネストされた配列を出力できないことを意味するものではありません。) コードは、実際の配列(コンマの有無にかかわらず)の代わりに、ネストされた配列の文字列表現を出力する場合があります。 1つの可能なマッピング: 0 -> [] 1 -> [[]] 2 -> [[[]]] 3 -> [[], []] 4 -> [[[[]]]] 5 -> [[[], []]] 6 -> [[[]], []] 7 -> [[], [[]]] 8 -> [[], [], []] 9 -> [[[[[]]]]] etc. 得点 …

17
モッツキン数
n番目のMotzkin番号は、(0、0)から(n、0)へのパスの数です。各ステップは(1、-1)、(1、0)、または(1、1)の形式で、パスはy = 0未満になることはありません。 上記のリンクからのn = 1、2、3、4のこれらのパスの例を次に示します。 望ましいシーケンスはOEIS A001006です。OEISには、シーケンスの他のいくつかの特性があります。 入力として正の整数nが与えられます。n番目のMotzkin番号を出力する必要があります。 Motzkinの番号は1〜10です。 1, 2, 4, 9, 21, 51, 127, 323, 835, 2188 すべての標準入出力メソッドが許可されています。標準の抜け穴が適用されます。 これはコードゴルフです。最少バイトが勝ちます。

9
連動ブラケット
()[]{}<>4つのそれぞれのブラケットタイプが一致するように配置された各文字の1つを含む8バイト文字列を取り込むプログラムまたは関数を記述します。たとえば]<([){}>、角括弧が一致しないため、入力は無効です(ただし、他のすべては一致します)。 から整数を出力0する6か、4つのブラケットタイプの6つの可能な組み合わせのどれだけがインターロックされるかを示します。ブラケットタイプペアは、1つのタイプのブラケットがもう1つのタイプのブラケットの間にちょうど1つある場合、インターロックされていると見なされます。そう([)]と[(])連動しているが()[]、[]()、([])、と[()]ではありません。 バイト単位の最短コードが優先されます。 入出力の例 ()[]{}<> : 0 ([{<>}]) : 0 <>{[]}() : 0 {<>([])} : 0 <(>)[{}] : 1 <[({)}]> : 1 [{<}]>() : 2 {<>([}]) : 2 <{(>})[] : 3 [(]<){>} : 3 <([>{)}] : 4 (<{[>})] : 4 (<[{)>}] : 5 <{[(>})] : 5 [{<(]}>) : 6 (<{[)>}] …

10
脚注への括弧
バックグラウンド LISPプログラマーが世界を席巻しました!括弧は神聖な文字として宣言されており、今後はLISPプログラムでのみ使用できます。文学作品のカッコは脚注に置き換えられることが決定されており、これを自動化してマークダウンテキストを簡素化することがあなたの仕事です。 入力 入力は、アルファベットのASCII文字、スペース、および特殊文字を含む単一の文字列,.!?()です。改行や数字は含まれません。括弧は正しく一致します。 出力 入力文字列内の一致した括弧の各ペアを脚注に変換します。これは次のように発生します。 括弧の最初の一致するペアとそれらの間の部分文字列1を、Markdownタグ<sup>との間でラップされた開始番号で置き換える</sup>。 文字列の最後に追加 2つの改行、 Markdownタグ<sub>、 ステップ1の番号 スペース、 括弧の間の部分文字列、および 終了タグ</sub>、この順序で。 文字列にまだ括弧が残っている場合は、手順1に進みます。 出力は結果の文字列であり、末尾に改行が含まれる場合があります。出力が正しい限り、この正確なアルゴリズムを実装する必要はありません。括弧がネストされている場合があることに注意してください。その場合、他の脚注への参照を含む脚注があります。括弧の間の部分文字列も空にすることができます。例については、以下のテストケースを参照してください。 ルールとスコアリング 完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 ご使用の言語が10進数をネイティブにサポートしていない場合(咳 Retina 咳)、バイナリまたは単項を含む別のベースで脚注番号を指定できます。ただし、単項数を使用すると、ペナルティが+ 20%になります。 テストケース 入力: This input contains no parentheses. 出力: This input contains no parentheses. 入力: This has (some) parentheses (but not so many). 出力: This has <sup>1</sup> parentheses <sup>2</sup>. …

30
賢い人のMira気楼
むかしむかし、Quoraでこの質問/回答を読んでいた FizzBu​​zzテストに合格できないコンピューターサイエンスの学位を持つプログラマーは本当にいますか このコードは明白な答えとして与えられます for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i もちろん、FizzBu​​zzは死ぬまでゴルフにかけられましたが、それはこの質問の目的ではありません。あなたはコメントで、4の倍数の印刷「ジャズ」などの追加条件を簡単に追加できるので、この明白な答えは素晴らしいと誰かが言及していることがわかります(同意しません。このスキームを拡張するにはO(2 ** n )コード行。) あなたの挑戦は、仲間によって判断されるようにFizzJazzBuzzの最も美しいバージョンを書くことです。 投票者が考慮すべき事項: ドライ 除算/モジュラス演算の効率 Quoraに関する回答の多くはPythonを使用していましたが、ここではそのような言語の制限はありません。 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

26
かっこいい2進数
先行ゼロのないバイナリで正の整数を表し、すべてをaで、すべてをa で置き換える1と、すべての括弧が一致しますか?(0) ほとんどの場合、彼らはしません。たとえば、9は1001バイナリであり())(、最初の2つの括弧のみが一致するになります。 しかし、時々一致します。たとえば、44は1011002進数で、これはになり()(())、すべての左括弧に対応する右括弧があります。 正の10進整数を取り込んで、数値の2進括弧バージョンにすべての一致する括弧がある場合に真理値を出力または返すプログラムまたは関数を作成します。そうでない場合は、偽の値を出力するか返します。 バイト単位の最短コードが優先されます。 関連するOEISシーケンス。 100以下の真実の例: 2, 10, 12, 42, 44, 50, 52, 56 100以下の偽の例: 1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, …

5
ブラケットをバブルします!
このサイトには、ブラケットのバランス、およびブラケットのバランスの確認に関するいくつかの質問があります。バランスの取れたブラケットを何かに使う時が来たと私は提案します! 数学とプログラミングでは、ブラケットは泡のようなもので、内側のすべてが外側のすべてから隔離されているため、内側のすべてが平和に機能し、外側のすべてが1つのオブジェクトしか見ることができません。ただし、括弧のストリングは1次元ですが、通常、バブルは少なくとも2次元です。つまり、互いに接触したり、他のバブルの内側と外側を交差したりしない限り、バブルは自由に動き回ることができます。 チャレンジ 入力は、round ()、square []、curly、{}またはangleのいずれかの単一タイプの一致した括弧のストリングです<>。プログラムがどの種類を受け入れるかはあなた次第であり、1種類のブラケットのみを受け入れるプログラムは受け入れられます。(プログラムがそれらのいずれかを処理できる場合は架空のボーナス、同じ入力ですべてを処理できる場合は大規模な架空のボーナスポイント)。 出力は、同じ構成のバブルを生成し、2つの同一の文字列を持たないブラケットのすべての可能な再編成(元の入力を含む任意の順序)です。これは、技術的には場所を入れ替えることができる2つのバブルであるにもかかわらず、入力がの()()場合、出力もちょうど()()であることを意味します。大規模な想像上のボーナスの場合、{}[]()当然、入力は6つの異なる要素/文字列/行の出力につながります。 バブルを別のバブルの内側から外側へ、または外側から内側へクロスさせずに、バブルを移動させて一方をもう一方にすることができる場合、2つのバブルの構成は「同じ」です。ネストされた括弧をツリーにたとえると(一致する各ペアは1つのノードであり、その中の一致するすべてのペアはサブノードであり、その中の一致する各ペアは再びそれらのサブノードであり、以下同様)、任意のノードのサブノードが順序付けられます、バブルの単一の構成は、ノードが順序付けられていないツリーです。 文字列のリストまたは単一文字のリストのリストまたは何らかの種類の空白を含む単一文字列を返す、stdoutまたはstderr何らかの形式の表示可能な空白文字(最も一般的には改行またはスペース)各再編成。 各再編成の末尾のスペース、および実際の出力の前後の改行および空のリスト要素の末尾と先行が許可されます。入力で受け入れるのと同じ種類のブラケットを出力で使用する必要があります。ここで指定されている角かっこ、改行、スペース、および使用するセパレータは別として、何も印刷しないでください(不可視/幅ゼロの文字を含む)。 スコアは、コード内のバイト数です。各言語の最低カウントが優先されます。想像上のボーナスを定期的に獲得するか大量に獲得するかは注意できますが、スコアには影響しません。実際のボーナスはあまりにも難しいため、バランスを取ることができません。 入出力の例 例1: 入力: ()(()) 出力: ()(()) (())() 例2: 入力: (()())()() 出力: (()())()() ()(()())() ()()(()()) 例3: 入力: (()(()))() 出力: ((())())() ()((())()) (()(()))() ()(()(()))

12
圧縮されたBrain-Flakを展開する
このチャレンジは、2018年4月のLotMチャレンジの一部として、およびBrain-flakの2回目の誕生日に投稿されました Brain-Flakプログラムをエンコードする最も効率的な方法は何かを考えていました。有効な文字は8つしかないため、行うべき明らかなことは、各文字を3ビットシーケンスにマップすることです。これは確かに非常に効果的ですが、それでも非常に冗長です。Brain-flakコードには、エンコードを短縮するために利用できる機能がいくつかあります。 ニラッドはすべて2つの一致するブラケットで表され、実際には2ではなく単一の情報単位として機能します。各ブラケットを1バイト文字に置き換えると、データを失うことなくエンコードがはるかに小さくなります。 これはそれほど明白ではありませんが、モナドの終了バイトも冗長です。'?'次のスニペットで文字が何を表すか推測できると思いますか? {(({}?<>?<>? 入力が有効なbrain-flakコードであると仮定した場合、それらの疑問符ごとに1つのオプションしかありません。これは、閉じるモナド文字を明確に使用して、すべての閉じ括弧を表すことができることを意味します。これには、文字セットを小さく保つという追加の利点があります。これは、ハフマンエンコーディングを使用する場合に非常に役立ちます。以来近いモナドの文字が最も可能性の高いワイドマージンによって最も一般的な文字になります、非常効率的である、単一ビットで表現することができます。 これらの2つのトリックにより、次のアルゴリズムを介してbrain-flakコードを圧縮できます。 モナドのすべての閉じ括弧をに置き換え|ます。または、言い換えると、開始一致の前にないすべての閉じ括弧をバーに置き換えます。そう... (({})<(()()())>{}) になるだろう (({}|<(()()()||{}| すべてのニラッドを閉じブラケットで置き換えます。したがって、何も含まれていない一致した括弧は、次のマッピングを使用します。 () --> ) {} --> } [] --> ] <> --> > これで最後の例は次のようになります。 ((}|<()))||}| 末尾の|文字を削除します。バーの総数は({[<文字の総数と等しくなければならないことがわかっているため、最後にバーがない場合は推測できます。次のような例: ({({})({}[()])}) になるだろう ({(}|(}[) 今日の課題は、このプロセスを逆にすることです。 文字のみを含む圧縮されたbrain-flakの文字列が与えられた(){}[]<>|場合、元のbrain-flakコードに展開します。入力は常に有効なブレインフラックに拡張されると想定できます。これは、入力のプレフィックスに文字を|超える({[<文字が含まれないことを意味します。 入力には末尾の|文字は含まれません。これらはコンテキストから推測する必要があります。 通常どおり、完全なプログラムまたは関数のいずれかを送信でき、入出力形式は許容されます。また、これはcode-golfであるため、ソースコードの長さ(バイト単位)によってコードがスコアリングされます。スコアが小さいほど優れています。 テストケース ここにいくつかのテストケースがあります。さらに必要な場合は、このpythonスクリプトとBrain-Flak Wikiを使用して独自のテストケースを生成できます。これは、これらのテストケースの大部分が由来する場所です。 #Compressed code #Original code ()))) (()()()()) ([([}()||||(>||{(})|>|}{((<}|||>}|}>} ([([{}(())])](<>)){({}())<>}{}{((<{}>))<>{}}{}<>{} ({(}|(}[)|||} ({({})({}[()])}{}) (((()))||(](((}}||(}([(((}))||||(]((}}|}|}}|||]||]|[))||(}))|}(}|(}]]|} ((((()()()))([]((({}{}))({}([((({}()())))]([](({}{}){}){}{})))[]))[])[()()])({}()()){}({})({}[][]){}

7
Brainf *** NOPの生成
Brainfuckコードを書くとき、デバッグを促進するために必要以上に長くする必要があると感じることがあります。><そこにa を入れるだけでそれを行うことができますが、それは何が楽しいですか?コードを読んでいる人を混乱させるために、NOPeyをもっと長くする必要があります。 Brainfuckの簡単な紹介 Brainfuckは、1993年にUrbanMüllerによって作成された難解なプログラミング言語であり、極端なミニマリズムが特徴です。(ウィキペディア) Brainfuckは、8つのコマンドに基づく言語です+-><,.[]。コードはチューリングマシンのようなもので実行されます。値を変更できる無限のテープです。この課題では、最初の4つに焦点を当てます。 + increment the value at the pointer - decrement the value at the pointer > move the pointer right < move the pointer left Brainfuck NOP Brainfuck NOPは、任意の状態から実行されたときに状態に変化をもたらさない一連のBrainfuckキャラクターです。これらは上記の4文字で構成されています。 チャレンジ 課題は、実行されたときに、指定された長さのランダムなBrainfuck NOPを生成するプログラムまたは関数を作成することです。 入力 入力として非負の偶数整数を受け取りますn。(NOPは奇数には不可能ですn。) 出力 あなたは長さのランダムなBrainfuck NOPを出力しますn。 ルール NOPの定義:プログラムの出力がBrainfuckプログラムの任意のポイントに挿入された場合、そのプログラムの動作は決して変化してはなりません。つまり、インタープリターの状態を変更してはなりません。 たとえば+>-<、2つのセルの値を元に戻すことなく変更するため、これは正しくないことに注意してください。投稿する前にこれらのソリューションをテストしてください。 また、これ+>-<->+<はNOPであり、を削除するだけでは何にも削減できないことに注意してください>< <> +- -+。したがって、これらを相互に挿入するだけのアルゴリズムは使用できません。 長さのすべての有効なNOPにはn、出力に表示されるゼロ以外のチャンスが必要です。ただし、分布は均一である必要はありません。 問題のブレインファックインタープリターには、任意精度セルの二重無限テープがあります。つまり、両方向に無限に移動し、各セルを無制限にインクリメント/デクリメントできます。 …

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), …

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 …

22
再帰的な文字列置換
タスク 3つの文字列を指定してA, B, C、Binの各インスタンスがでA再帰的に置換された出力文字列を生成するプログラムまたは関数を記述しCます。再帰的に置換とは、各ステップで重複しないBinのすべてのインスタンスA(左から右に貪欲に選択)がに含まれなくなるCまで置換を繰り返すことを意味BしAます。 入出力 I / Oにはデフォルトのメソッドを使用できます。 文字列には、印刷可能なASCII文字のみが含まれます(また、それらのいずれかが含まれることもあります)。 B一方で、空の文字列になることはありませんAし、Cかもしれません。 文字列はプレーンテキストとみなされます。たとえば、扱うことはできません B。、正規表現パターンとして。 入力の一部の組み合わせは終了しません。これらの場合、プログラムは何でもできます。 テストケース これらは次の形式です。 A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 終了しない例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

9
文字列の非親子化
適切に括弧で囲まれた文字列を入力として、一致する括弧内(またはすべての括弧の外側)にある空でないすべての部分文字列のリストを、ネストされた括弧を削除して出力します。各サブストリングは、まったく同じ一致する括弧内の文字のシーケンスである必要があります。部分文字列は深さの順にリストする必要があり、同じ深さの部分文字列は文字列に現れる順にリストする必要があります。入力が常に正しく括弧で囲まれていると仮定します。 入力には、小文字のASCII文字と括弧のみが含まれていると想定できます。 答えは、文字列が与えられたときに文字列のリストを返す関数でなければなりません。 例: 'a(b)c(d)e' -> ['ace', 'b', 'd'] 'a(b(c)d)e' -> ['ae', 'bd', 'c'] 'a((((b))))' -> ['a', 'b'] 'a()b' -> ['ab'] '' -> [] 'a' -> ['a'] '(((a(b)c(d)e)f)g)h' -> ['h', 'g', 'f', 'ace', 'b', 'd'] 'ab(c(((d)ef()g)h()(i)j)kl)()' -> ['ab', 'ckl', 'hj', 'efg', 'i', 'd'] 最少バイトが勝ちます。

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