আমাদের একটি এনকোড করা স্ট্রিং দেওয়া হয়েছে, এবং আমাদের এটিকে একটি ফাংশনের মাধ্যমে প্রক্রিয়া করতে হবে যা এটির ডিকোড করা স্ট্রিং প্রদান করে৷
এনকোডিং নিয়ম হল −
n[encodedString], where the encodedString inside the square brackets is being repeated exactly n times.
এবং 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