From 503ac73461c6e319e552e9cca87df56d813adc00 Mon Sep 17 00:00:00 2001 From: Yury Date: Mon, 20 Feb 2023 18:52:44 +0300 Subject: [PATCH] feat: almost done. something wrong but i have no time more --- src/index.js | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index e193acfb..76e2a722 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,41 @@ module.exports = function check(str, bracketsConfig) { - // your solution + + + const newStr = []; + const myFilter = []; + for(let i = 0; i < str.length; i++){ + if(str[i] === '|') { + myFilter.push(str[i]) + } else { + newStr.push(str[i]); + } + } + if(myFilter.length % 2 !== 0){ + return false; + } + + const openBrackets = ['(', '{', '[',] + const bracketsPair = { + [')']: '(', + ['}']: '{', + [']']: '[', + } + let stack = []; +for(let i = 0; i < newStr.length; i++){ + let currElement = newStr[i]; + if (openBrackets.includes(currElement)){ +stack.push(currElement)} else { + if (stack.length === 0){ +return false; +} +let topElement = stack[stack.length - 1]; +if (bracketsPair[currElement] === topElement){ +stack.pop() +} else { + return false; +} +} +} + +return stack.length === 0; }