3.6 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
594dc6c729e5700999302b45 | Збалансовані дужки | 5 | 302230 | balanced-brackets |
--description--
Визначте, чи збалансований згенерований рядок дужок; тобто чи він складається повністю з пар відкритих/закритих дужок (у правильному порядку), і кожна розміщена у відповідному місці.
Приклади:
Вихідна інформація | Результат |
---|---|
[] |
true |
][ |
false |
[][] |
true |
][] |
false |
[]][[] |
false |
[[[[]]]] |
true |
--hints--
isBalanced
має бути функцією.
assert(typeof isBalanced === 'function');
Функція isBalanced("[]")
має повернути true.
assert(isBalanced(testCases[0]));
Функція isBalanced("]][[[][][][]][")
має повернути false.
assert(!isBalanced(testCases[1]));
Функція isBalanced("[][[[[][][[[]]]]]]")
має повернути true.
assert(isBalanced(testCases[2]));
Функція isBalanced("][")
має повернути false.
assert(!isBalanced(testCases[3]));
Функція isBalanced("[[[]]]][[]")
має повернути false.
assert(!isBalanced(testCases[4]));
Функція isBalanced("][[]")
має повернути false.
assert(!isBalanced(testCases[5]));
Функція isBalanced("][[][]][[[]]")
має повернути false.
assert(!isBalanced(testCases[6]));
Функція isBalanced("[[][]]][")
має повернути false.
assert(!isBalanced(testCases[7]));
Функція isBalanced("[[[]]][[]]]][][[")
має повернути false.
assert(!isBalanced(testCases[8]));
Функція isBalanced("[]][[]]][[[[][]]")
має повернути false.
assert(!isBalanced(testCases[9]));
Функція isBalanced("][]][[][")
має повернути false.
assert(!isBalanced(testCases[10]));
Функція isBalanced("[[]][[][]]")
має повернути true.
assert(isBalanced(testCases[11]));
Функція isBalanced("[[]]")
має повернути true.
assert(isBalanced(testCases[12]));
Функція isBalanced("]][]][[]][[[")
має повернути false.
assert(!isBalanced(testCases[13]));
Функція isBalanced("][]][][[")
має повернути false.
assert(!isBalanced(testCases[14]));
Функція isBalanced("][][")
має повернути false.
assert(!isBalanced(testCases[15]));
Функція isBalanced("[]]]")
має повернути false.
assert(!isBalanced(testCases[16]));
Функція isBalanced("")
має повернути true.
assert(isBalanced(testCases[17]));
--seed--
--after-user-code--
const testCases = [
'[]',
']][[[][][][]][',
'[][[[[][][[[]]]]]]',
'][',
'[[[]]]][[]',
'][[]',
'][[][]][[[]]',
'[[][]]][',
'[[[]]][[]]]][][[',
'[]][[]]][[[[][]]',
'][]][[][',
'[[]][[][]]',
'[[]]',
']][]][[]][[[',
'][]][][[',
'][][',
'[]]]',
''
];
--seed-contents--
function isBalanced(str) {
return true;
}
--solutions--
function isBalanced(str) {
if (str === '') return true;
let a = str;
let b;
do {
b = a;
a = a.replace(/\[\]/g, '');
} while (a !== b);
return !a;
}