সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং str প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে নেবে।
ফাংশনটি স্ট্রিং str- থেকে সর্বোচ্চ একটি ক্যারেক্টার ডিলিট করতে পারে এবং আমাদের চেক করতে হবে কি আমরা সেটি প্যালিনড্রোম বানাতে পারি।
উদাহরণস্বরূপ, যদি ইনপুট হয় –
ইনপুট
const str = 'dr.awkward';
আউটপুট
const output = true;
আউটপুট ব্যাখ্যা
কারণ যদি স্ট্রিং থেকে '.' ডিলিট করি,
উদাহরণ
নিচে কোডটি দেওয়া হল –
const str = 'dr.awkward';
const validPalindrome = (str = '') => {
const valid = (left, right) => {
for (let i = left; i <= Math.floor((left + right) / 2); i++) {
if (str[i] !== str[right - (i - left)]) {
return false;
}
}
return true;
};
for (let i = 0; i <= Math.floor(str.length / 2); i++) {
const right = str.length - 1 - i;
if (str[i] !== str[right]) {
return valid(i, right - 1) || valid(i + 1, right);
}
}
return true;
};
console.log(validPalindrome(str));
আউটপুট
true