কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে স্ট্রিং ডিকোড করার ফাংশন


আমাদের একটি এনকোডেড স্ট্রিং দেওয়া আছে, এবং আমাদের সেটিকে একটি ফাংশন দিয়ে প্রসেস করতে হবে যেটি এর ডিকোডেড স্ট্রিং রিটার্ন করবে।

এনকোডিং রুল হলো −

n[encodedString], যেখানে স্কয়ার ব্র্যাকেটের ভেতরের encodedStringটি ঠিক n বার রিপিট হবে।

এবং n একটি পজিটিভ ইন্টিজার বলে গ্যারান্টি করা আছে।

আমরা অনুমান করতে পারি ইনপুট স্ট্রিং সবসময় বৈধ; কোনো এক্সট্রা হোয়াইটস্পেস নেই, স্কয়ার ব্র্যাকেটগুলো ভালোভাবে ফর্মড, ইত্যাদি।

উদাহরণস্বরূপ − ইনপুট যদি হয় −

const str = "3[a]2[bc]";

তবে আউটপুট হবে −

const output: "aaabcbc";

উদাহরণ

এটির কোড হবে −

const str = "3[a]2[bc]";
const helper = (str = '') => {
  return str.replace(/(\d+\[\w+\])/gi, item => {
    let match = /(\d+)\[(\w+)\]/.exec(item);
    let repeat = parseInt(match[1]);
    let pattern = match[2];
    let result = "";
    while(repeat-- > 0) {
      result += pattern;
    }
    return result;
  });
};
const decodeString = function(str) {
  while(/\d+\[\w+\]/gi.test(str)) {
    str = helper(str);
  }
  return str;
};
console.log(decodeString(str));

আউটপুট

কনসোলে আউটপুট হবে −

aaabcbc

  1. জাভাস্ক্রিপ্টে স্ট্রিং এনক্রিপশন (সিজার সাইফার)

  2. জাভাস্ক্রিপ্টে স্ট্রিংয়ের মধ্যে অ্যালফাবেট সর্টিং

  3. জাভাস্ক্রিপ্টে স্ট্রিংয়ের স্বরবর্ণ গণনা করা

  4. জাভাস্ক্রিপ্টে ম্যাজিক্যাল স্ট্রিং সমস্যা