Skip to content

Instantly share code, notes, and snippets.

@victorpavlenko
Created May 2, 2015 13:49
Show Gist options
  • Save victorpavlenko/d5787c277077a29c584f to your computer and use it in GitHub Desktop.
Save victorpavlenko/d5787c277077a29c584f to your computer and use it in GitHub Desktop.
1 Задача
if (process.argv.length !== 3) {
console.error('Введено:\n\t' + process.argv[0] + ' ' + process.argv[1] + ' [аргуенты для функции]')
process.exit(1);
}
var str = process.argv[2];
if (checkBrackets(str)) {
console.log('Все верно!');
} else {
console.log('Неверно');
process.exit(2);
}
function checkBrackets(str) {
var opening = ['{', '(', '['];
var closing = ['}', ')', ']'];
var stack = [];
var i = 0;
var index, bracket, expected;
for(i; i < str.length; i++ ){
bracket = str[i];
if( (index = opening.indexOf(bracket)) !== -1 ){
stack.push(index);
console.log(stack)
} else if ((index = closing.indexOf(bracket)) !== -1){
expected = stack.pop();
if (expected !== index) {
return false;
}
}
}
if(stack.length > 0) {
return false;
}
return true;
}
// Запуск node index.js '{{([])}}'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment