Checking Groups kata from codewars - https://www.codewars.com/kata/checking-groups/java
In English and programming, groups can be made using symbols such as "()" and "{}" that change meaning. However, these groups must be closed in the correct order to maintain correct syntax.
Your job in this kata will be to make a program that checks a string for correct grouping. For instance, the following groups are done correctly:
({}) [] [{()}] The next are done incorrectly
{(}) ([] []) A correct string cannot close groups in the wrong order, open a group but fail to close it, or close a group before it is opened.
Your function will take an input string that may contain any of the symbols "()" "{}" or "[]" to create groups.
It should return True if the string is empty or otherwise grouped correctly, or False if it is grouped incorrectly.