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

জাভাস্ক্রিপ্টে স্ট্রিং ফরম্যাটিং করে একই ক্যারেক্টার আলাদা করা


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

ফাংশনটি স্ট্রিংয়ের ক্যারেক্টারগুলো পুনর্গঠন করার চেষ্টা করবে যাতে দুটি একই ক্যারেক্টার পরপর নেই।

যদি কমপক্ষে একটা এমন কম্বিনেশন থাকে তবে ফাংশনটি সেটি রিটার্ন করবে, অন্যথায় খালি স্ট্রিং রিটার্ন করবে।

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

যদি ইনপুট স্ট্রিং হয়:

const str = 'add';

তাহলে ফাংশনটি আউটপুট দিতে পারে:

const output = 'dad';

উদাহরণ

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

const str = 'add'; const formatString = (str = '') => {    const map = {};    for(let i = 0; i < str.length; i++){       map[str[i]] = map[str[i]] || 0;       map[str[i]] ++;    }    let keys = Object.keys(map).sort((a, b) => {       if(map[a] < map[b]){          return 1;       };       return -1;    });    let flag = str.length%2?(Math.floor(str.length/2)+1):str.length/2;    if(map[keys[0]] > flag){       return "";    };    const res = [];    let index = 0, max = str.length-1;    while(keys.length){       let currKey = keys.shift();       let count = map[currKey];       while(count){          res[index] = currKey;          index = index+2;          if(index>max)             index=1;          count--;       }    }    return res.join(""); }; console.log(formatString(str));

আউটপুট

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

dad

  1. জাভাস্ক্রিপ্টে স্ট্রিং থেকে অনন্য অক্ষর ফিল্টার করা

  2. জাভাস্ক্রিপ্টে স্ট্রিংয়ে সব ক্যারেক্টার ইউনিক কিনা যাচ্চ করা

  3. জাভাস্ক্রিপ্টে স্ট্রিংয়ের ক্যারেক্টারগুলো রিগ্রুপ করা

  4. C#-এ স্ট্রিংয়ের ক্যারেক্টার সোয়াপ করা (LINQ Select)