সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং নেবে। ফাংশনটি স্ট্রিংয়ে নিচের অপারেশনগুলো করতে পারবে:
- প্রতিটি ক্যারেক্টারকে অবশ্যই আলফাবেটে তার আগের বা পরের ক্যারেক্টারে পরিবর্তন করতে হবে।
- "a" কে শুধু "b"-তে এবং "z" কে "y"-তে পরিবর্তন করা যাবে।
ফাংশনটি true রিটার্ন করবে যদি এই অপারেশনগুলোর কমপক্ষে একটি ফলাফল প্যালিনড্রোম হয়, অন্যথায় false।
উদাহরণ
নিচে কোড দেওয়া হলো:
const str = 'adfa';
const canFormPalindrome = (str = '') => {
const middle = str.length / 2;
for(let i = 0; i < middle; i++){
const first = str[i].charCodeAt()
const last = str[str.length - (i + 1)].charCodeAt()
const distance = Math.abs(last - first)
if(distance > 2 || distance === 1){
return false;
};
};
return true;
};
console.log(canFormPalindrome(str));
আউটপুট
কনসোল আউটপুট:
true