আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে গ্রহণ করবে।
ফাংশনটির কাজ হলো যাচাই করা যে স্ট্রিংয়ের ক্যারেক্টারগুলো রি-অ্যারেঞ্জ (rearrange) করলে কি প্যালিনড্রোম স্ট্রিং তৈরি করা সম্ভব। যদি সম্ভব হয়, তবে true রিটার্ন করবে, অন্যথায় false।
উদাহরণস্বরূপ —
ইনপুট স্ট্রিং যদি হয় —
const str = 'amadm';
তাহলে আউটপুট হবে —
const output = true;
কারণ স্ট্রিংটি রি-অ্যারেঞ্জ করে 'madam' বানানো যায় যা একটি প্যালিনড্রোম স্ট্রিং।
উদাহরণ
কোডটি নিচে দেওয়া হলো —
const str = 'amadm';
const canFormPalindrome = (str = '') => {
const hash = {};
let count = 0;
for (let i = 0; i < str.length; i++) {
let c = str[i];
if(c === ' '){
continue;
};
if(hash[c]){
delete hash[c];
}else{
hash[c] = true;
};
count++;
};
if(count % 2 === 0){
return Object.keys(hash).length === 0;
}else{
return Object.keys(hash).length === 1;
};
};
console.log(canFormPalindrome(str));
আউটপুট
কনসোল আউটপুট:
true