const bracketValidation = (input) => { const openers = ["{", "[", "("]; const closers = ["}", "]", ")"]; const match = { "}": "{", "]": "[", ")": "(" }; let lastOpener = []; for (let i = 0; i < input.length; i++) { if (openers.includes(input[i])) { lastOpener.push(input[i]); } if (closers.includes(input[i])) { const last = lastOpener.pop(); if (last !== match[input[i]]) { return false; } } } return lastOpener.length == 0; } const testCode = (codeoutput, correctoutput) => { console.log("actual", codeoutput, "expected", correctoutput); } testCode(bracketValidation(""), true); testCode(bracketValidation("{{{}}}"), true); testCode(bracketValidation("{{{}}}]"), false);