Tracks
/
Zig
Zig
/
Exercises
/
Matching Brackets
Matching Brackets

Matching Brackets

Easy

Introduction

You're given the opportunity to write software for the Bracketeerâ„¢, an ancient but powerful mainframe. The software that runs on it is written in a proprietary language. Much of its syntax is familiar, but you notice lots of brackets, braces and parentheses. Despite the Bracketeerâ„¢ being powerful, it lacks flexibility. If the source code has any unbalanced brackets, braces or parentheses, the Bracketeerâ„¢ crashes and must be rebooted. To avoid such a scenario, you start writing code that can verify that brackets, braces, and parentheses are balanced before attempting to run it on the Bracketeerâ„¢.

Instructions

Given a string containing brackets [], braces {}, parentheses (), or any combination thereof, verify that any and all pairs are matched and nested correctly. Any other characters should be ignored. For example, "{what is (42)}?" is balanced and "[text}" is not.

Constraints

You may assume that the input to isBalanced never contains more than 10 levels of nesting.

Feel free to solve this exercise without using the allocator, but note that the isBalanced function cannot return just bool, because the tests use try.


Source

Ginna Baker
Edit via GitHub The link opens in a new window or tab
Zig Exercism

Ready to start Matching Brackets?

Sign up to Exercism to learn and master Zig with 40 exercises, and real human mentoring, all for free.