Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

JavaScript:วงเล็บสมดุล


กำหนดสตริงที่ประกอบด้วยอักขระเพียงสองประเภทเท่านั้น:"(" และ ")" เราจำเป็นต้องเขียนฟังก์ชันที่ใส่สตริงดังกล่าวเข้าไปและทำให้วงเล็บสมดุลโดยการใส่ "(" หรือ ")" หลายๆ ครั้งตามความจำเป็น

ฟังก์ชันควรส่งคืนจำนวนการแทรกขั้นต่ำในสตริงเพื่อให้สมดุล ตัวอย่างเช่น −

หากสตริงคือ −

const str = '()))';

ผลลัพธ์ควรเป็น 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