আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি অক্ষর স্ট্রিংকে প্রথম এবং একমাত্র যুক্তি হিসাবে গ্রহণ করে৷
ফাংশনের চেষ্টা করা উচিত এবং স্ট্রিংটিতে উপস্থিত অক্ষরগুলিকে পুনরায় সংগঠিত করা উচিত যাতে কোনও দুটি অভিন্ন অক্ষর একে অপরের সংলগ্ন না থাকে৷
যদি এমন অন্তত একটি সংমিশ্রণ বিদ্যমান থাকে তবে আমাদের ফাংশনটি সেই সংমিশ্রণ স্ট্রিংটি ফিরিয়ে দেবে অন্যথায় আমাদের ফাংশনটি একটি খালি স্ট্রিং ফিরিয়ে দেবে।
যেমন −
যদি ইনপুট স্ট্রিং −
হয়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