คำอธิบาย
เขียนฟังก์ชันที่รับสตริงที่ประกอบด้วย '(' และ ')' และคืนค่าจำนวนวงเล็บที่ต้องเพิ่มน้อยที่สุดเพื่อให้สมดุล
ตัวอย่าง
str = '()))' → ต้องเพิ่ม '((' 2 ตัว → ผลลัพธ์ 2
ตัวอย่างโค้ด
const str = '()))';
const balanceParanthesis = str => {
let paren = [];
for (let i = 0; i < str.length; i++) {
if (str[i] === "(") {
paren.push(str[i]);
} else if (str[i] === ")") {
if (paren[paren.length - 1] === "(") {
paren.pop();
} else {
paren.push("#");
}
}
}
return paren.length;
};
console.log(balanceParanthesis(str));
ผลลัพธ์
2