Basado en esta pregunta.
Dada una cadena, reemplace cada corchete ()[]{}<>con un corchete del tipo apropiado para que los corchetes coincidan, y los corchetes anidados se ciclan de la siguiente manera:
- Los más externos son
() - Directamente dentro de
()debe ser[] - Directamente dentro de
[]debe ser{} - Directamente dentro de
{}debe ser<> - Directamente dentro de
<>será()nuevamente (ciclos)
Todos los caracteres sin corchetes deben permanecer exactamente como están. Los corchetes abiertos solo pueden reemplazarse con corchetes abiertos de algún tipo, y los corchetes cerrados con corchetes cerrados.
La entrada siempre lo hará posible. Esto significa que sus corchetes coinciden correctamente si se ignora su tipo. Entonces, {ab<)c]es una entrada válida, pero ab)(cdo ab((cdno lo son.
Ejemplos:
2#jd {¤>. = 2#jd (¤).
abcdef = abcdef
(3×5+(4-1)) = (3×5+[4-1])
<<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}])
El uso de la transformación nativa de entrada de esta manera (sintaxis automática del lenguaje) no está permitido.
Como siempre: el código más corto gana.
fuente

Respuestas:
JavaScript (ES6), 79 bytes
Casos de prueba
Mostrar fragmento de código
fuente
Lex, 132 bytes
fuente
flexcomo compilador) eliminando las últimas dos o tres líneas respectivamente, a un costo de cierto número de bytes (probablemente 2, 3 o 4; las reglas son algo poco claras) en penalizaciones por la-llopción de línea de comando al vincular el archivo C resultante. (Es decir, en lugar de compilar conlex brackets.l; cc lex.yy.c, compila conlex brackets.l; cc lex.yy.c -ll). Definitivamente, es una compensación que vale la pena hacer en esta situación.Java, 155 bytes
Lambda que toma un
char[]argumento único. Recorremos la matriz, almacenando su posición en nuestra cadena de corchetes (s) en una variable (k). Verificamos si es un corchete de apertura o cierre (s.indexAt()), y lo reemplazamos con el corchete apropiado en función de su nivel de anidamiento (s.charAt()), haciendo un bucle apropiado con%4fuente
Haskell, 126 bytes
Pruébalo con ideone. Uso:
Explicación
ftoma tres argumentos: una cadena que funciona como pila para cerrar corchetes, una intnpara contar la profundidad de anidamiento y la cadena de entrada.fuente