কম্পিউটার

জাভাস্ক্রিপ্টে একটি বাইনারি নম্বর ব্যবহার করে স্ট্রিং কেস অদলবদল করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং স্ট্র এবং একটি সংখ্যা n নেয়। আমাদের ফাংশন n ব্যবহার করে প্রদত্ত স্ট্রিং স্ট্র পরিবর্তন করা উচিত।

n-এর প্রতিটি বিট s-

-এ প্রতিটি বর্ণমালার অক্ষরের ক্ষেত্রে কেস অদলবদল করবে কিনা তা নির্দিষ্ট করবে।

বিট 1 হলে, কেস অদলবদল করুন; যদি এটি 0 হয়, এটিকে যেমন আছে তেমনি রেখে দিন। যখন আমরা 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. জাভাস্ক্রিপ্ট ব্যবহার করে একটি বাইনারি স্ট্রিংয়ে ন্যূনতম ফ্লিপ খোঁজা