{"ScriptPreparationCode":null,"TestCases":[{"Name":"verify","Code":"function verify([...str]){\r\n let prev=0;\r\n for(let i=0; i\u003Cstr.length; i\u002B\u002B){\r\n let prevStep=prev;\r\n const curr=str[i];\r\n ((curr===\u0027(\u0027\u0026\u0026prevStep\u002B\u002B||curr===\u0027)\u0027\u0026\u0026prevStep--))\u0026\u0026\r\n ((curr===\u0027{\u0027\u0026\u0026prevStep\u002B\u002B||curr===\u0027}\u0027\u0026\u0026prevStep--))\u0026\u0026\r\n ((curr===\u0027[\u0027\u0026\u0026prevStep\u002B\u002B||curr===\u0027]\u0027\u0026\u0026prevStep--));\r\n prev=prevStep;\r\n if(prev!==0) break;\r\n }\r\n return prev===0;\r\n}\r\nconsole.log(verify(\u0022[()]{}{[()()]()}\u0022));\r\nconsole.log(verify(\u0022[{()()}({[]})]({}[({})])((((((()[])){}))[]{{{({({({{{{{{}}}}}})})})}}}))[][][]\u0022));\r\nconsole.log(verify(\u0022({(()))}}\u0022));","IsDeferred":false},{"Name":"verifyShort","Code":"function verifyShort([...str]) {return str.reduce((uptoPrevChar, thisChar) =\u003E {\r\n ((thisChar === \u0027(\u0027 \u0026\u0026 uptoPrevChar\u002B\u002B || thisChar === \u0027)\u0027 \u0026\u0026 uptoPrevChar--)) \u0026\u0026\r\n ((thisChar === \u0027{\u0027 \u0026\u0026 uptoPrevChar\u002B\u002B || thisChar === \u0027}\u0027 \u0026\u0026 uptoPrevChar--)) \u0026\u0026\r\n ((thisChar === \u0027[\u0027 \u0026\u0026 uptoPrevChar\u002B\u002B || thisChar === \u0027]\u0027 \u0026\u0026 uptoPrevChar--));\r\n\r\n return uptoPrevChar;\r\n}, 0) === 0 }\r\nconsole.log(verifyShort(\u0022[()]{}{[()()]()}\u0022));\r\nconsole.log(verifyShort(\u0022[{()()}({[]})]({}[({})])((((((()[])){}))[]{{{({({({{{{{{}}}}}})})})}}}))[][][]\u0022));\r\nconsole.log(verifyShort(\u0022({(()))}}\u0022));","IsDeferred":false}]}