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

জাভাস্ক্রিপ্টে চূড়ান্ত চালনের দিক নির্ণয়


সমস্যা

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

অ্যারেটিতে শুধু ৪টি ক্যারেক্টার থাকতে পারে, সেগুলো হল –

  • 'N' → উত্তর দিক
  • 'S' → দক্ষিণ দিক
  • 'W' → পশ্চিম দিক
  • 'E' → পূর্ব দিক

প্রতিটি ক্যারেক্টার ঐ নির্দিষ্ট দিকেই এক ইউনিট দূরত্ব চলে নির্দেশ করে। আর যদি অ্যারেতে কোথাও দুটি বিপরীত দিক, [('S' ও 'N') বা ('E' ও 'W')] সন্নিহিত থাকে, তবে সেগুলো একে অপরের চলে বাতিল করে দেয়। তাই আমাদের ফাংশনটি পুরো অ্যারেতে চূড়ান্ত চালনের দিক খুঁজে বের করা উচিত।

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

const arr = ['N', 'S', 'S', 'E', 'W', 'N', 'W'];

তবে আউটপুট হওয়া উচিত –

const output = 'W';

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

'N' এবং 'S' পরস্পর বাতিল হবে, 'E' এবং 'W' পরস্পর বাতিল হবে, এবং তারপর আবার 'N' এবং 'S' বাতিল হয়ে শুধু 'W' বাকি থাকবে।

উদাহরণ

নিচে কোডটি দেওয়া হল –

const arr = ['N', 'S', 'S', 'E', 'W', 'N', 'W']; 
const cancelDirections = (arr = []) => { 
  let str = arr.join(''); 
  while (str.includes('NS') || str.includes('SN') || str.includes('EW') || str.includes('WE')) { 
    str = str.replace('NS', ''); 
    str = str.replace('SN', ''); 
    str = str.replace('EW', ''); 
    str = str.replace('WE', ''); 
  } 
  return str.split(''); 
}; 
console.log(cancelDirections(arr));

আউটপুট

কনসোল আউটপুট –

['W']

  1. জাভাস্ক্রিপ্টে সব সম্ভাব্য ইউনিক পাথ বের করা

  2. জাভাস্ক্রিপ্টে সবচেয়ে ছোট গুড বেস খুঁজে বের করা

  3. জাভাস্ক্রিপ্টে স্ট্রিংয়ে নির্দিষ্ট অক্ষরের পরের অক্ষর বের করা

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