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â„¢.
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.
Bytes 64-319 of the linear memory are reserved for the input string.
The input string can be modified in place if desired.
Sign up to Exercism to learn and master WebAssembly with 37 exercises, and real human mentoring, all for free.