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

জাভাস্ক্রিপ্টে বাইনারি নম্বর ব্যবহার করে স্ট্রিং কেস সোয়াপ করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং (str) এবং একটি সংখ্যা (n) নেবে। ফাংশনটি n ব্যবহার করে স্ট্রিং-কে পরিবর্তন করবে।

n-এর প্রতিটি বিট নির্দেশ করবে স্ট্রিং-এর প্রতিটি আলফাবেটিক ক্যারেক্টারের কেস সোয়াপ করা হবে কিনা –
• বিট ১ হলে কেস সোয়াপ করবে
• বিট ০ হলে অপরিবর্তিত থাকবে
n-এর শেষ বিট শেষ হলে আবার প্রথম বিট থেকে শুরু করবে।

ফাংশনটি নতুন স্ট্রিংটি রিটার্ন করবে।

উদাহরণ

নিচের কোডটি –

const str = 'hey there'; const num = 21; const swapCase = (str = '', num = 1) => { const alphaLength = str .split('') .reduce((acc, val) => val.toLowerCase() !== val.toUpperCase() ? ++acc : acc, 0); let binary = num.toString(2); while(binary.length < alphaLength){ binary += binary; }; let res = ''; for(let i = 0; i < str.length; i++){ const el = str[i]; if(el.toUpperCase() !== el.toLowerCase() && +binary[i] === 1){ if(el.toLowerCase() === el){ res += el.toUpperCase(); }else{ res += el.toLowerCase(); } }else{ res += el; }; }; return res; }; console.log(swapCase(str, num));

আউটপুট

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

HeY TheRe
  1. জাভাস্ক্রিপ্টে ডেসিমেল নম্বরের এডজাসেন্ট বাইনারি বিট সোয়াপ করা

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

  3. জাভাস্ক্রিপ্টে স্ট্রিং সংখ্যার দ্বিতীয় অর্ধেক ডিজিট শূন্য করা

  4. জাভাস্ক্রিপ্টে বাইনারি স্ট্রিংয়ে ন্যূনতম ফ্লিপ নির্ণয়