Rutas
/
Zig
Zig
/
Ejercicios
/
Delimitadores coincidentes
Delimitadores coincidentes

Delimitadores coincidentes

Media

Introducción

Tienes la oportunidad de escribir software para el Bracketeer™, un mainframe antiguo pero potente. El software que se ejecuta en él está escrito en un lenguaje propietario. Gran parte de su sintaxis te resulta familiar, pero te das cuenta de que hay muchísimos corchetes, llaves y paréntesis. A pesar de que el Bracketeer™ es potente, carece de flexibilidad. Si el código fuente tiene algún corchete, llave o paréntesis desequilibrado, el Bracketeer™ se bloquea y hay que reiniciarlo. Para evitar ese escenario, empiezas a escribir código que pueda comprobar que los corchetes, las llaves y los paréntesis están equilibrados antes de intentar ejecutarlo en el Bracketeer™.

Instrucciones

Dado un string que contiene corchetes ([]), llaves ({}), paréntesis (()) o cualquier combinación de ellos, comprueba que todos los pares estén emparejados y anidados correctamente. Cualquier otro carácter debe ignorarse. Por ejemplo, "{what is (42)}?" está equilibrado y "[text}" no.

Restricciones

Puedes suponer que la entrada de isBalanced nunca contiene más de 10 niveles de anidamiento.

No dudes en resolver este ejercicio sin usar el allocator, pero ten en cuenta que la función isBalanced no puede devolver solo bool, porque las pruebas usan try.


Fuente

Ginna Baker
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Zig Exercism

¿Listo para empezar Delimitadores coincidentes?

Regístrate en Exercism para aprender y dominar Zig con 104 ejercicios y mentoría humana real, todo gratis.