Tienes la oportunidad de escribir software para 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 notas muchísimos corchetes, llaves y paréntesis. A pesar de que Bracketeer™ es potente, carece de flexibilidad. Si el código fuente tiene algún corchete, llave o paréntesis desbalanceado, Bracketeer™ se bloquea y hay que reiniciarlo. Para evitar ese escenario, empiezas a escribir código que pueda verificar que los corchetes, las llaves y los paréntesis están balanceados antes de intentar ejecutarlo en Bracketeer™.
Dado un string que contiene corchetes [], llaves {}, paréntesis () o cualquier combinación de estos, verifica que todos los pares estén emparejados y anidados correctamente.
Cualquier otro carácter debe ignorarse.
Por ejemplo, "{what is (42)}?" está balanceado y "[text}" no.
| Registro | Uso | Tipo | Descripción |
|---|---|---|---|
$a0 |
entrada | dirección | string de entrada terminado en nulo |
$v0 |
salida | boolean | la entrada tiene paréntesis, corchetes y llaves balanceados (0 = false, 1 = true) |
$t0-9 |
temporal | cualquiera | se usa para almacenamiento temporal |
Regístrate en Exercism para aprender y dominar MIPS Assembly con 70 ejercicios y mentoría humana real, todo gratis.