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

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

4
明らかにAPLトレインを括弧で囲みます
APLでは、trainsと呼ばれる暗黙の関数を作成できます。それらがどのように機能するかは、この課題とは無関係です。⍴関数として使用して、グループ化するさまざまな方法を次に示します。 ⍴ -> ⍴ ⍴⍴ -> ⍴⍴ ⍴⍴⍴ -> ⍴⍴⍴ ⍴⍴⍴⍴ -> ⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴ -> ⍴⍴(⍴⍴⍴) ⍴⍴⍴⍴⍴⍴ -> ⍴(⍴⍴(⍴⍴⍴)) ... 順序は同じままです。手順は、厳密に3つ以上の関数がある限り、最後の3つの関数が1つの関数にグループ化されることです。ネストされたトレインに出会った場合、先に進む前にまずそれを括弧で囲みます。以下に適用される手順を示します⍴⍴⍴⍴⍴⍴。 Step 0: ⍴⍴⍴⍴⍴⍴ There are strictly more than 3 functions, repeat. Step 1: ⍴⍴⍴(⍴⍴⍴) There are strictly more than 3 functions, repeat. Step 2: ⍴(⍴⍴(⍴⍴⍴)) There are 3 or …

8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 is …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  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 

10
簡単な番号体系
簡単な番号体系についてお話ししましょう。(この挑戦のためだけに作り上げました) このシステムは、機能が含まれています()、[]、{}、と<>。 1。 () いつ ()引数が指定されていないは、と評価され0ます。 いつ ()1つ以上の引数が与えられた、引数の合計に評価されます。 2。 [] いつ []引数が指定されていないは、と評価され-1ます。 いつ [] 1つ以上の引数が与えられ、それは第一引数マイナス他の引数の合計に評価されます。 3。 {} いつ {}引数が指定されていないは、と評価され1ます。 いつ {} 1つ以上の引数が与えられ、それは、これらの引数の積に評価されます。 4。 <> いつ <>引数が指定されていないは、と評価され1ます。 いつ <> 1つ以上の引数が与えられ、それは、他の引数の積で割った最初の引数の整数に評価します。 あなたのタスク この単純な数値システムで有効な数値を含む文字列(つまり、角括弧のバランスが取れていること、0による除算がないことなど)が指定されている場合、その値を出力します。 テストケース () -> 0 (()()) -> 0 ([][]) -> -2 ({}<>) -> 2 ({}[]) -> 0 [] -> -1 …

9
バランストリプレットブラケット
「トリプレットブラケット」(このチャレンジのために作成した)は、次のいずれかです。 (...+...) [...:...] {...|...} <...-...> バランスのとれたトリプレットブラケット文字列(略してBTBS)は、空の文字列、2つのBTBSが連結されている、または上記のトリプレットブラケットのいずれか...がBTBSに置き換えられたものです。 あなたの仕事は、それだけで構成される文字列の(+)[:]{|}<->バランスが取れているかどうかをチェックするプログラムまたは関数を書くことです。最短のコードが優先されます。 例 プログラムは、次の文字列に対して真実を返す必要があります。 (+)(+)(+) [[[:]:]:(+(+))]{<->|<(+)->[:]}(+) <<<<<<<<<<<<->->->->->->->->->->->-> {|(+[:<-{|(+[:<->])}>])} [[[:]:[:]]:[[:]:[:]]] {[:](+)|<->{|}}[(+)<->:{|}(+)] プログラムは、次の文字列に対して偽を返す必要があります。 :[ <|> (+(+) [:][:](+[[:]):] {|{|{|(+{|{|{|}}}}}+)}[:]{|} {{||}} <<->-<->-<->> [(+):((+)+)+(+(+))] <<<<<->->->->->->

8
Brain-Flak Classicインタープリターを作成してください!
Brain-Flak(Brainf ** kとFlak-Overstowのクロス)は、スタックベースの難解な言語です。この課題が投稿されて以来、言語は進化し更新されましたが、この言語のこの最初のリビジョンは「brain-flak classic」として知られています。 Brain-Flakクラシックコードの文字列を取得して評価するプログラムまたは関数を作成する必要があります。また、整数の(空の可能性のある)リストを取ります。Brain-Flakクラシックプログラムへの入力があります。 言語 Brain-Flakには、「左」と「右」として知られる2つのスタックがあります。アクティブなスタックは左から始まります。空のスタックがポップまたはピークされた場合、0が返されます。変数はありません。プログラムが開始されると、各入力がアクティブスタックに順番にプッシュされます(したがって、最後の入力がスタックの一番上になります)。 Brain-Flakプログラムで有効な文字はのみ()[]{}<>であり、常にバランスをとる必要があります。無効な文字がある場合、または角かっこが一致しない場合、未定義の動作が発生します。何でも有効です。 関数には、NiladsとMonadsの 2つのタイプがあります。niladは 0の引数をとる関数です。すべてのniladsは次のとおりです。 () +1。 [] -1。 {} アクティブなスタックをポップします。 <> アクティブなスタックを切り替えます。 これらは評価されるときに連結されます。したがって、アクティブスタックの上部に「3」がある場合、このスニペットは次のとおりです。 ()(){} するために評価されます1 + 1 + active.pop()。5.に評価思われる<>0と評価されます。 モナドは1つの引数、Brain-Flakコードの塊を取ります。すべてのモナドは次のとおりです。 (n) アクティブなスタックで「n」を押します。 [n] 'n'をintおよび改行として出力します。 {foo}active.peek()!= 0の間に、fooを実行します。0¹に評価します。 <foo> fooを実行しますが、0として評価します。 これらの関数は、内部の値も返すため、 (()()()) 3を押して [()()()] 3を印刷しますが、 [(()()())] 印刷してプッシュします3。 プログラムの実行が完了すると、アクティブスタックに残っている各値が整数として出力され、間に改行が入ります。他のスタックの値は無視されます。 ルール: プログラムは、(-128、127)の範囲の数字と、少なくとも255のスタックサイズをサポートする必要があります。より大きな、素晴らしいをサポートする場合。 アンダーフロー/オーバーフローは未定義です。 サンプルIO: 空のプログラム: 入力:なし 出力:なし …

9
Bracksを埋める
通常のブラケット(()、[]、<>とは{})しかし、誰かがそれを括弧のような非括弧文字を使用することをお勧めだろうと思った、素晴らしく、明確なです。これらの文字|と"があいまいです。たとえば """" 対応する (()) または ()() 言うことは不可能です。 曖昧な括弧の種類を混ぜると、物事が面白くなり始めます。たとえば、 "|""||""|" 次のいずれかです ([(([]))]),([()[]()]),([()][()]) 仕事 あなたの仕事は、あいまいな文字で作られた文字列を取得し、作成者が意図した可能性のあるすべてのバランスの取れた文字列を出力することです。 交換行うことができ、より具体的にあなたの出力のすべてのバランスの文字列|のいずれかと[か]と"どちらかと(か)。バランスの取れた文字列を2回出力しないでください。 IO 入力として、|とで構成される文字列を使用する必要があります"。あなたは以外に二つの異なる文字を選択したい場合|や"、あなたがそうすることができる代替品として機能します。バランスの取れた文字列のコンテナを出力する必要があります。あなたは置き換えることを選択すること[]と、()(他の2ブラケットのペアを使用して出力して()、[]、<>または{}あなたが望みます)。出力形式は実行間で一貫している必要があります。 得点 これはコードゴルフですため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 テストケース "" -> ["()"] "|"| -> [] ||| -> [] """" -> ["(())","()()"] ""|| -> ["()[]"] "|"||"|" -> ["([([])])"] "|""||""|" -> ["([(([]))])","([()[]()])","([()][()])"]

15
g l f a t a n 2
時には、デカルト座標(x,y)を極座標に変換するのは本当に大変です(r,phi)。r = sqrt(x^2+y^2)非常に簡単に計算できますが、角度を計算する際にケースの区別が必要になることがよくあります。phiこれarcsinはarccos、arctanおよび他のすべての三角関数が、それぞれが円の半分のみに広がる共領域を持つためです。 多くの言語には、直交座標を極座標に変換するための組み込みatan2機能があります。または、少なくとも(x,y)角度を計算する関数がありますphi。 仕事 あなたのタスクは、2つ(浮動小数点、両方ではないゼロ)デカルト座標を取るプログラム/関数を記述することで(x,y)、対応する極角出力するphi、phiと(度、ラジアン、またはグレードでなければならないグレード Iは、平均グラジアン 1であります/ 400の完全な円)、あなたにとってより便利な方。 角度は正の方向で測定され、の角度はゼロです(1,0)。 詳細 あなたは、角度計算ビルトインを使用することはできませんphiを含む2点の座標、与えられたatan2、rect2polar、argOfComplexNumberおよび同様の機能を。ただし、通常の三角関数とその逆関数を使用できます。これらの関数は1つの引数のみを取ります。単位記号はオプションです。 半径はr非負でなければならない、とphiの範囲でなければなりません[-360°, 360°](それはあなたの出力かどうかは関係ありません270°か-90°)。 例 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

30
消える要素
文字列Sとインデックスのリストを指定すると、その結果をの新しい値として使用しながら、の各インデックスの要素を削除してX変更SしSますS。 例えば、与えられたS = 'codegolf'とX = [1, 4, 4, 0, 2]、 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
シンプルなパターン
入力: 選択した入力形式での2つの1桁(それらをm、と呼んでみましょうn)と2つの文字(aとと呼んでみましょうb)。 出力: チュートリアルでは、のふりをしm=2, n=5, a='a', b='b'ます。 出力は、4つの入力から作成された文字列になります。resultvalueでstringを呼び出しましょう""。まず、CONCATENATE aへのresult m回なので、CONCATENATE aへresult 2回。resultに等しくなりましたaa。第二に、CONCATENATE bへのresult m回なので、CONCATENATE bへresult 2回。resultに等しくなりましたaabb。最後に、resultがすでにより長い場合n、resultlengthを持つように切り捨てnます。それ以外の場合は、のm長さの実行aとが長さになるbまで交互に続けます。最後は、長さです。resultnresultaabba5 テストケース: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

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 

4
場所にブレースが存在する場合にブレースをスペースで置き換えるプログラムを書く
あなたはプロジェクトマネージャーです。ある日、あなたのプログラマーの一つは非常識(行きませんあなたのせいに)とコードベース内のすべての式を取って、自分の無能(約わめき散らす、その場で終了する前に、それらにランダムブラケットを追加してもいないあなたのせい)。これは簡単な修正ですが、何らかの理由でリビジョン管理を使用していません(完全にあなたのせいではありません)。そして、何らかの理由で、他のプログラマーは誰も、不一致のブラケットを修正するためにすべての式を調べることを望みません(ところで、それはあなたのせいではありません)。最近のプログラマーは、自分で考えています。あなたは自分でそれをしなければなりません。ホラー!そのようなタスクはあなたの下にあるはずでした... 入力は単一の行になり、左角かっこ(( [ {)と右角かっこ()がいくつか含まれます) ] }。また、常にではありませんが、コメント(/* */)および文字列リテラル(" "または' ')およびさまざまな数字、文字、または記号を含む場合があります。 対応する反対(コメントまたは文字列リテラルの外側)を持たない少なくとも1つのブラケット(コメントまたは文字列リテラルの外側)があります。たとえば}、{事前のないエラー。別の例:後の(ものがないa )。プログラムは、ブラケットを一致させるために必要な最小数のブラケットをスペースに置き換えます。 例: (4 + (2 + 3))]==> (4 + (2 + 3)) (端における角括弧) ][][[]]==> [][[]](開始時角括弧) ("Hel(o!"))==> ("Hel(o!") (端における括弧) ( /* )]*/==> /* )]*/ (開始時括弧) {()]==> () (中括弧と角括弧) 入力は、最も便利な方法(STDIN、コマンドライン引数、ファイルからの読み取りなど)から取得できます。 同じ数の削除で不一致を解決する方法が複数ある場合は、どちらでもかまいません。 括弧内の不一致のみがあります。文字列リテラルとコメントは常に正しく形成されます。 タイトルはこのSOスレッドから来ています コメントに引用符、引用符に引用符、コメントにコメント、引用符にコメントが含まれることはありません。 これはコードゴルフであるため、最小バイト数が優先されます。仕様が明確でない場合は、コメントで質問してください。

4
怠zyな括弧を終了する
キーボードの括弧はすべて使い古されているため、できるだけ使用しないでください。あなたの課題は、各行の前後に括弧を追加して、括弧を含む行のバランスをとることです。 これは、TI-Basicの自動括弧と文字列の閉鎖(つまりOutput(1, 1, "Hello, World!)に似ています。また、プログラムから貴重なバイトを節約します! 入力例: This line has no parentheses alert(Math.max(1, 2 1+1)*2).toString() function() { alert('Hello, World!'); })( 出力例: This line has no parentheses alert(Math.max(1, 2)) ((1+1)*2).toString() (function() { alert('Hello, World!'); })() 仕様: 入力の各行に対して、 行の括弧のバランスをとるために、必要に応じて行の先頭に開いている括弧を追加し、行の終わりに閉じる括弧を追加します 「バランス」の定義は次のとおりです。 同じ量(と)ラインで 文字列の先頭から始まるすべての部分文字列について、この部分文字列には開き括弧よりも多くの閉じ括弧を含めることはできません たとえば、開き括弧より閉じ括弧が多い(foo))(barため、バランスが取れ(foo))ていません 必要に応じて、コードを短くする場合は、余分な不要な括弧を追加できます 文字列リテラルなどを心配する必要はありません。すべての括弧のバランスを取る必要があると仮定してください 括弧をバランスさせて各行を出力します これはcode-golfなので、バイト単位の最短コードが勝ちます!

19
Brainfuckプログラムを確認する
さらに別のBrainfuck解析問題ですが、今回は...異なります。 あなたはさまざまな興味深い問題を解決するためにBrainfuckプログラムを作っているInfinite Monkeys Incorporatedで働いています(偶然にも、結局のところ、会社はランダムなプログラムを作っています)。ただし、Brainfuckのみを実行する高速チューリングマシンには、構文エラーに関する小さくて高価な問題があるようです。1つを作成すると、コンピューターが爆発します。それはおそらく設計上の欠陥かもしれませんが、それがなぜ起こるのかわからない人はいませんでした。 チューリングマシン(特に高速なマシン)は高価なので(結局、無限のRAMが必要です)、コードを実行する前にプログラムに構文エラーがないことを確認した方が良いでしょう。会社は大量のコードを実行するため、手動検証は機能しません。BrainfuckコードのSTDINを読み取るプログラムを作成し、プログラムに構文エラーがある場合(たとえば、]一致しないため構文エラーである場合)、終了ステータスを0(エラー)以外に設定して終了します[。プログラムが完全に正常であれば、終了ステータスを0に設定して終了します。 プログラムがを含む間違いを正しく認識していることを確認してください[]。別のコンピューターを爆発させたくないでしょうか?ああ、それができる限り短いことを確認してください-あなたのボスは短いプログラムの代金を払っています(彼は彼らが速いか何かを考えているからです)。ああ、Brainfuckでコーディングする必要はありません(実際、Brainfuckは終了コードをサポートしていないため、できません)-コードは通常のコンピューターで実行されます。 したがって、ご覧のとおり、あなたの仕事はBrainfuckプログラムが「有効」である(ペアの[]シンボルがある)かどうかを確認することです。Brainfuckプログラムには以外の文字を使用できる[]ため、他のコマンドがあるという理由だけでプログラムを拒否しないでください。最小のコードが勝ちますが、おそらくあなたはとにかくupvotesにもっと関心があるでしょう。

10
長さnのすべてのブレース文字列を生成する
*()[]中括弧は、中括弧が正しく一致する文字で構成される文字列として定義されます。 [brace-string] ::= [unit] || [unit] [brace-string] [unit] ::= "" || "*" || "(" [brace-string] ")" || "[" [brace-string] "]" これは有効なブレース文字列です。 ((())***[]**)****[(())*]* しかし、これらはそうではありません: )( **(**[*](**) **([*)]** あなたの仕事は、正の整数を与えられ、n入力として数値を取り、長さのすべての有効な中括弧文字列を出力する(または返す)プログラム(または関数)を書くことですn。 仕様書 文字列は任意の順序で出力できます。 リストまたは異なる文字で区切られた文字列として出力できます。 プログラムは0を正しく処理する必要があります。長さ0のブレース文字列が1つありますが、これは空の文字列""です。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース 0. 1. * 2. ** () [] 3. *** ()* []* (*) [*] *() *[] 4. **** …

23
与えられた括弧を使用して文字列をインデントします
プログラムへの次の入力がある場合: ブロック開始文字のリスト ブロック終了文字のリスト フォーマットする文字列 インデントされた2つの文字セットで区切られたブロックで文字列をフォーマットします。 フォーマットはレベルごとに2つのスペースを使用して行われ、下の例に示すように括弧が配置されます。開始文字と終了文字のセットがばらばらであると仮定することができます。 用など{[(<と}])>開口部と文字セットを閉じると、次の文字列として: abc{xyz{text[note{comment(t{ex}t)abc}]}} 次の出力が期待されます。 abc { xyz { text [ note { comment ( t { ex } t ) abc } ] } } 「括弧」文字のリストをハードコーディングすることはできません。ただし、入力方法は指定されていません。これは、必要に応じて、コマンドライン引数または標準入力を使用できます。

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