Track
/
Zig
Zig
/
Esercizi
/
Parentesi corrispondenti
Parentesi corrispondenti

Parentesi corrispondenti

Medio

Introduzione

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™.

Istruzioni

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 è.

Vincoli

Puoi presumere che l'input di isBalanced non contenga mai più di 10 livelli di annidamento.

Sentiti libero di risolvere questo esercizio senza usare l'allocator, ma tieni presente che la funzione isBalanced non può restituire semplicemente bool, perché i test usano try.


Fonte

Ginna Baker
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Zig Exercism

Vuoi iniziare Parentesi corrispondenti?

Iscriviti a Exercism per imparare e padroneggiare Zig con 104 esercizi e il mentoring di persone reali, tutto gratis.