あなたの使命は、あなたがそれを受け入れることを選択した場合、括弧、括弧、および括弧の最小数を追加して、特定の文字列(括弧、括弧、および括弧のみを含む)が正しい括弧に一致するようにすることです。ペアのブレース間の最大距離を確保することにより、追加されたシンボルの結び付きを解除する必要があります。これら2つのルールに一致する正しい答えを1つだけ返す必要があります。関係が存在する場合、それ以上の関係は、適切と思われる方法で破損する可能性があります。
例:
input output
// Empty String is a legal input
[ [] // Boring example
[()] [()] // Do nothing if there's nothing to be done
({{ ({{}}) // NOT (){}{} (0 + 0 + 0). Maximum distance is 4 + 2 + 0, ({{}})
[([{])]} {[([{}])]} // NOT [([])]{[([])]} or similar
プログラムまたは関数を記述し、関数への文字列引数としてSTDINを介して入力を受け取り、出力を文字列として返すか、STDOUT(または最も近い代替)に出力します。オプションで、出力に単一の末尾の改行を含めることができます。
入力文字列は、次の6文字のみで構成されていると仮定することもできます(またはその入力がないこと):([](){}
サポートする必要はありません<>
)
これはcode-golfで、最短のプログラムが勝ちます。もちろん、標準的な抜け穴は禁止されています。
タイトルを実際のタイトルのすぐ下に繰り返すか、タグを実際のタグのすぐ上に繰り返すということですか?Sandboxから貼り付けたものをコピーして、それらを削除するのを忘れた場合に尋ねてください。
—
レインボルト
@Rainbolt前者なし(サンドボックス)、後者あり
—
-durron597
@AlexA。私はそれらがマイナーな方法でどのように異なるかを見ることができますが、私はそれらが別々の質問と見なされるにはあまりにも似ていると思います。
—
NinjaBearMonkey
けっこうだ。それは確かにカットアンドドライではなく、他の人がそうしないと決めた場合、私はそれを閉じようとはしません。
—
NinjaBearMonkey
私はそれを十分に異なると考えます。再開に投票しました。
—
nderscore