Balancing of paranthesis

by amrendra kumar

JavaScript

let string = "[ ( )  [ ( ) (  ] ( )]"

let middlebracket = []
let smallbracket = []


for(let i=0; i < string.length; i++) {
	let char = string[i]
  
  if(char === '[') {
  	middlebracket.push(char)
    console.log('after push middle bracket', JSON.parse(JSON.stringify(middlebracket)))
  } else if(char === ']' ) {
      if(middlebracket[middlebracket.length-1] === '[') {
      	middlebracket.pop()
      } else {
      	middlebracket.push(char)
      }
    console.log('after pop middle bracket', JSON.parse(JSON.stringify(middlebracket)))
  }
  
  
  if(char === '(') {
  	smallbracket.push(char)
    console.log('after push smallbracket', JSON.parse(JSON.stringify(smallbracket)))
  } else if(char === ')'  ) {
    if(smallbracket[smallbracket.length-1] === '(') {
    	smallbracket.pop()
    } else {
    		middlebracket.push(char)
    }	
    console.log('after pop smallbracket', JSON.parse(JSON.stringify(smallbracket)))
  }
    
}

const result = !middlebracket.length && !smallbracket.length ? true: false
console.log('result', result)