На основании НАСТОЯЩЕГО вопроса.
Для ()[]{}<>данной строки замените каждую скобку скобкой соответствующего типа так, чтобы скобки совпадали, и вложенные скобки циклически выполняются следующим образом:
- Внешние из них
() - Прямо внутри
()должно быть[] - Прямо внутри
[]должно быть{} - Прямо внутри
{}должно быть<> - Прямо внутри
<>будет()снова (циклы)
Все символы, не являющиеся скобками, должны оставаться такими же, как они. Открытые скобки могут быть заменены только открытыми скобками некоторого типа, а закрывающие скобки - закрывающими скобками.
Ввод всегда сделает это возможным. Это означает, что его скобки совпадают, если их тип игнорируется. Таким образом, {ab<)c]это правильный вход, но ab)(cdили ab((cdнет.
Примеры:
2#jd {¤>. = 2#jd (¤).
abcdef = abcdef
(3×5+(4-1)) = (3×5+[4-1])
<<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}])
Использование встроенного преобразования ввода таким способом (автоматический синтаксис языка) не допускается.
Как всегда: самый короткий код выигрывает.