কম্পিউটার

জাভাস্ক্রিপ্টে গাণিতিক অভিব্যক্তি থেকে বন্ধনী সরানো হচ্ছে


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা গাণিতিক এক্সপ্রেশনের একটি স্ট্রিং, str, প্রথম এবং একমাত্র যুক্তি হিসাবে নেয়৷

আমাদের ফাংশনের কাজ হল ক্রিয়াকলাপ এবং অপারেন্ডগুলিকে যথাস্থানে রেখে অভিব্যক্তি থেকে বন্ধনী অপসারণ করা৷

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

ইনপুট

const str = 'u-(v-w-(x+y))-z';

আউটপুট

const output = 'u-v+w+x+y-z';

উদাহরণ

নিম্নলিখিত কোড -

const str = 'u-(v-w-(x+y))-z';
const removeParentheses = (str = '') => {
   let stack = []
   let lastSign = '+'
      for (let char of str) {
         if (char === '(' || char === ')') {
            lastSign = stack[stack.length - 1] || '+'
         } else if (char === '+') {
            if (stack[stack.length - 1] !== '-' && stack[stack.length - 1] !== '+') {
               stack.push(lastSign)
            }
         } else if (char === '-') {
            if (lastSign === '-') {
               if (stack[stack.length - 1] === '-') stack.pop()
                  stack.push('+')
         } else {
            if (stack[stack.length - 1] === '+') stack.pop()
            stack.push('-')
            }
         } else {
            stack.push(char)
      }
   }
   return stack.join('').replace(/^\+/, '')
};
console.log(removeParentheses(str));

আউটপুট

u-v+w+x+y-z

  1. জাভাস্ক্রিপ্টে অ্যারের শুরু থেকে একটি উপাদান সরানো হচ্ছে

  2. জাভাস্ক্রিপ্টে অ্যারের শেষ থেকে একটি উপাদান সরানো হচ্ছে

  3. জাভাস্ক্রিপ্ট ব্যবহার করে একটি ডাবল লিঙ্কযুক্ত তালিকা থেকে উপাদানগুলি সরানো হচ্ছে

  4. জাভাস্ক্রিপ্টের ভিতরের বাইরের ফাংশন থেকে শ্রোতা অপসারণ করছেন?