New algorithm implementation:

1. I count the number of parenthesis.
2. If the closing parens ever exceeds the number of open parens, it automatically fails.
3. If we go through the whole input, we only pass if there are equal number of open and close parens (must be 0).

This is working, but I need to make it simpler.