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

জাভাস্ক্রিপ্টে বাইনারি রিপ্রেজেন্টেশনে ১ বিটের সংখ্যা অনুযায়ী পূর্ণসংখ্যা সর্ট করা


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

ফাংশনটি অ্যারেতে থাকা পূর্ণসংখ্যাগুলো তাদের বাইনারি রিপ্রেজেন্টেশনে থাকা ১ বিটের সংখ্যা অনুযায়ী বর্ধমান ক্রমে সর্ট করবে। যদি দুটি বা অধিক সংখ্যার ১ বিটের সংখ্যা সমান হয়, তবে তাদের মান অনুযায়ী বর্ধমান ক্রমে সর্ট করবে।

উদাহরণস্বরূপ —

ইনপুট অ্যারে যদি হয় —

const arr = [34, 37, 23, 89, 12, 31, 23, 89];

তাহলে আউটপুট অ্যারে হবে —

const output = [34, 12, 37, 23, 89, 23, 89, 31];

উদাহরণ

নিচের কোডটি দেখুন:

const arr = [34, 37, 23, 89, 12, 31, 23, 89]; 
const sortByBinary = (arr = []) => { 
  const calculateOne = (str = '') => { 
    let res = 0; 
    for(let i = 0; i < str.length; i++){ 
      if(str[i] === '1'){ 
        res++; 
      }; 
    }; 
    return res; 
  } 
  const sorter = (a, b) => { 
    const firstCount = calculateOne((a >>> 0).toString(2)); 
    const secondCount = calculateOne((b >>> 0).toString(2)); 
    return firstCount - secondCount; 
  }; 
  arr.sort(sorter); 
}; 
sortByBinary(arr); 
console.log(arr);

আউটপুট

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

[ 
  34, 12, 37, 23, 
  89, 23, 89, 31 
]

  1. জাভাস্ক্রিপ্টে ইনপুট নম্বরের মধ্যে সর্বোচ্চ ৫ ডিজিটের সংখ্যা খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে শব্দে থাকা নম্বর অনুযায়ী বাক্য সর্ট করা

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

  4. C++-এ ৩২-বিট বাইনারি নম্বরের সেট বিট (১) গণনা করা