-
Notifications
You must be signed in to change notification settings - Fork 64
/
Checking Groups
25 lines (19 loc) · 917 Bytes
/
Checking Groups
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
Description:
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.
*/
function groupCheck(braces){
while(/\(\)|\[\]|\{\}/g.test(braces)){braces = braces.replace(/\(\)|\[\]|\{\}/g,"")}
return !braces.length;
}