isBalanced
by Jason Green
HTML
<div id="out">
</div>
JavaScript
function isBalanced(str) {
let old_length = str.length
let new_length = 0
let new_string = str
while (old_length != new_length) {
new_string = clearBrackets(new_string)
old_length = new_length
new_length = new_string.length
}
return new_string
}
function clearBrackets(str) {
l
str.replace(/\(\)/g, '')
str.replace(/\[\]/g, '')
return str.replace(/\{\}/g, '')
}
log('(()) true ' + isBalanced('(())')); // true
log('()() true ' + isBalanced('()()')); // true
log('(() false ' + isBalanced('(()')); // false
log(')( false ' + isBalanced(')(')); // false
log('(()))( false ' + isBalanced('(()))(')); // false
log('{[()]} true ' + isBalanced('{[()]}')); // true
log('{}() true ' + isBalanced('{}()')); // true
log('{}()} false ' + isBalanced('{}()}')); // false
log('{[}] false ' + isBalanced('{[}]')); // false
function log(str) {
var prev = document.getElementById('out').innerHTML;
document.getElementById('out').innerHTML = prev + str + '<br>';
}
/*log('{[()]} true ' + isBalanced('{[()]}')); // true
log('{}() true ' + isBalanced('{}()')); // true
log('{}()} false ' + isBalanced('{}()}')); // false
log('{[}] false ' + isBalanced('{[}]')); // false !!!!!!!!!!!*/