Balanced Brackets

  • + 0 comments

    Code passes all tests, but semantically does not match problem description:

    The pair of square brackets encloses a single, unbalanced opening bracket, (, and the pair of parentheses encloses a single, unbalanced closing square bracket, ].

    JavaScript:

    function isBalanced(s) {
        const missing = []
        s = [...s]
        for(let i = 0; i < s.length; i++) {
            const char = s[i]
            const nextChar = s[i+1]
            switch (char) {
                case "{":
                    missing.push("}")
                    break
                case "[":
                        missing.push("]")
                    break
                case "(":
                    missing.push(")")
                    break
                case "]":
                case "}":
                case ")":
                    if(missing.length === 0 || missing.pop() != char) 
                        return "NO"
                    break
                default:
                    return "NO"
            }
        }
        
        
        return missing.length > 0 ? "NO" : "YES"
    
    }