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