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

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


সমস্যা

একটি ম্যাজিক্যাল স্ট্রিং str শুধু '1' এবং '2' দিয়ে গঠিত এবং নিচের নিয়মগুলো মানে:

স্ট্রিংটি ম্যাজিক্যাল কারণ স্ট্রিংয়ের সংলগ্ন '1' ও '2'-এর ঘটনার সংখ্যা কনক্যাট করলে স্ট্রিংটি নিজে আবার পাওয়া যায়।

স্ট্রিংয়ের প্রথম কিছু এলিমেন্ট:

str = "1221121221221121122......"

যদি সংলগ্ন '1' ও '2' গোষ্ঠীভাগ করি:

1 22 11 2 1 22 1 22 11 2 11 22 ......

এবং প্রতিটি গোষ্ঠীর '1' বা '2'-এর ঘটনা:

1 2 2 1 1 2 1 2 2 1 2 2 ......

দেখা যাচ্ছে ঘটনার সিকোয়েন্সটি স্ট্রিংটি নিজেই।

আমাদের একটি ইন্টিজার num ইনপুট দেওয়া আছে, আমাদের ম্যাজিক্যাল স্ট্রিংয়ের প্রথম num সংখ্যক ক্যারেক্টারে কতগুলো '1' আছে সেটি রিটার্ন করতে হবে।

উদাহরণ:

ইনপুট হলে:

const num = 6;

আউটপুট হবে:

const output = 3;

আউটপুট ব্যাখ্যা:

ম্যাজিক্যাল স্ট্রিংয়ের প্রথম ৬ এলিমেন্ট: "12211" এ তিনটি '1' আছে।

উদাহরণ

কোডটি নিচের মতো:

const num = 6; const magicalString = (num = 1) => { let ind = 12; let str = '1221121221221121122'; while(str.length < num){ const end = str.substring(str.length - 1) === '2' ? '1' : '2'; str = parseInt(str.substring(ind, ind + 1)) === 2 ? str + end + end : str + end; ind++; }; return (str.substring(0, num).match(/1/g)||[]).length; }; console.log(magicalString(num));

আউটপুট

কনসোলে আউটপুট:

3

  1. জাভাস্ক্রিপ্টে সার্কুলার স্ট্রিংয়ে ইউনিক সাবস্ট্রিং গণনা করা

  2. জাভাস্ক্রিপ্টে টাইম স্ট্রিং রেক্টিফাই করা (HH:MM:SS)

  3. জাভাস্ক্রিপ্টে স্ট্রিংকে নির্দিষ্ট দৈর্ঘ্যে সীমাবদ্ধ করা

  4. জাভাস্ক্রিপ্টে স্ট্রিংয়ে ক্যারেক্টার থেকে নিকটতম নির্দিষ্ট ক্যারেক্টার দূরত্ব