Hai l'opportunità di scrivere software per il Bracketeer™, un mainframe antico ma potente. Il software che ci gira sopra è scritto in un linguaggio proprietario. Gran parte della sua sintassi ti è familiare, ma noti moltissime parentesi quadre, graffe e tonde. Nonostante il Bracketeer™ sia potente, manca di flessibilità. Se il codice sorgente contiene parentesi quadre, graffe o tonde non bilanciate, il Bracketeer™ va in crash e deve essere riavviato. Per evitare questo scenario, inizi a scrivere codice in grado di verificare che parentesi quadre, graffe e tonde siano bilanciate prima di provare a eseguirlo sul Bracketeer™.
Data una stringa che contiene parentesi quadre ([]), parentesi graffe ({}), parentesi tonde (()) o qualsiasi loro combinazione, verifica che tutte le coppie siano abbinate e annidate correttamente.
Ogni altro carattere va ignorato.
Ad esempio, "{what is (42)}?" è bilanciata e "[text}" non lo è.
| Registro | Utilizzo | Tipo | Descrizione |
|---|---|---|---|
$a0 |
input | indirizzo | stringa di input terminata da null |
$v0 |
output | booleano | l'input ha parentesi corrispondenti (0 = false, 1 = true) |
$t0-9 |
temporaneo | qualsiasi | usato come memoria temporanea |
Iscriviti a Exercism per imparare e padroneggiare MIPS Assembly con 70 esercizi e il mentoring di persone reali, tutto gratis.