Se le dará una cadena (posiblemente vacía) que contiene corchetes ( [{()}]) y cualquier otro carácter ( A- Z, a- z, 0- 9, puntuación). Debe verificar si cumple con las siguientes reglas:
- Los caracteres sin corchetes se ignoran.
- Cada soporte abierto
[{(tiene un soporte de cierre)}]. Entonces[](no está permitido. - Los corchetes están anidados correctamente.
[(])No se permite. - Los corchetes no pueden contener corchetes dentro de ellos. Los corchetes simples no pueden contener corchetes ni corchetes dentro de ellos. Entonces
[({})],[{[]}]y({})no están permitidos. Los corchetes se pueden anidar con corchetes similares, por lo que[[{((()))}{{(())}}]()]{()}está permitido.
La salida es un único valor verdadero / falso según su elección.
El código más corto gana.
Casos de prueba
b[[a{(/)}(())+={{}-}],] -> Válido
([h][e][l][l][o]) -> Inválido
[///[{(\/(arg()))}1{{((-)-2)}}]()]{()} -> Válido
hi -> Válido