{"ScriptPreparationCode":null,"TestCases":[{"Name":"verify","Code":"const verify=([...str])=\u003Estr.reduce((prev,next)=\u003E{\r\n ((next===\u0027(\u0027\u0026\u0026prev\u002B\u002B||next===\u0027)\u0027\u0026\u0026prev--))\u0026\u0026\r\n ((next===\u0027{\u0027\u0026\u0026prev\u002B\u002B||next===\u0027}\u0027\u0026\u0026prev--))\u0026\u0026\r\n ((next===\u0027[\u0027\u0026\u0026prev\u002B\u002B||next===\u0027]\u0027\u0026\u0026prev--));\r\n return prev;\r\n},0)===0;\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}]}