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

জাভাস্ক্রিপ্টে র‍্যান্ডম স্ট্রিং থেকে সবচেয়ে লম্বা শব্দ তৈরি করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি র‍্যান্ডম ইংরেজি অ্যালফাবেট স্ট্রিং str প্রথম আর্গুমেন্ট ও একটি স্ট্রিং অ্যারে arr دومা আর্গুমেন্ট হিসেবে নেবে।

ফাংশনটির কাজ হলো str-র কিছু ক্যারেক্টার ডিলিট করে কোন শব্দ বানানো যায় যা arr-তে ও আছে, সেই সবচেয়ে লম্বা শব্দটি রিটার্ন করা। যদি এমন কোনো শব্দ না থাকে, তবে খালি স্ট্রিং রিটার্ন করবে।

উদাহরণ:

const str = 'sdgfdfghdjh'; const arr = ['sdf', 'fghj', 'gfdfg', 'absc', 'a', 'hasl'];

আউটপুট হবে:

const output = 'gfdfg';

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

যদিও অ্যারেতে প্রথম ও دومা এলিমেন্ট বানানো যায়, কিন্তু 'gfdfg' সবচেয়ে লম্বা (৫ অক্ষর) যা str থেকে বানানো সম্ভব।

উদাহরণ

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

const str = 'sdgfdfghdjh'; const arr = ['sdf', 'fghj', 'gfdfg', 'absc', 'a', 'hasl']; const findLongestWord = (str = '', arr = []) => { arr.sort((a, b) => { if (a.length !== b.length) { return b.length - a.length; }; return a.localeCompare(b); }); for(const word of arr){ let index = -1; for(const char of word){ index = str.indexOf(char, index + 1); if(index < 0){ break; }; }; if (index >= 0){ return word; }; }; return ''; }; console.log(findLongestWord(str, arr));

কোড ব্যাখ্যা:

ধাপগুলো হলো:

  • অ্যারে arr কে দৈর্ঘ্য ও লেক্সিক্যাল অর্ডারে সোর্ট করা।

  • arr-এর প্রতিটি শব্দের জন্য, যদি স্ট্রিং str-এ সব ক্যারেক্টার থাকে তবে রিটার্ন করুন।

  • যেহেতু ইতিমধ্যে সোর্ট করা আছে, প্রথম ম্যাচই উত্তর।

আউটপুট

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

gfdfg

  1. জাভাস্ক্রিপ্টে সেট (Set) এর সর্বোচ্চ দৈর্ঘ্য বের করা

  2. জাভাস্ক্রিপ্টে বর্তমান সময় দিয়ে নিকটতম সময় তৈরি

  3. জাভাস্ক্রিপ্টে সবচেয়ে দীর্ঘ কনsekutিভ পেয়ার চেইন খুঁজে বের করা

  4. জাভাস্ক্রিপ্টে সবচেয়ে দীর্ঘ ইনক্রিজিং সাবসিকোয়েন্সের মোট সংখ্যা গণনা