সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং str নেবে যাতে অ্যালফাবেট এবং কিছু বিশেষ ক্যারেক্টার থাকে।
ফাংশনটি ইনপুট স্ট্রিংয়ের ভিত্তিতে একটি নতুন স্ট্রিং ফেরত দেবে যেখানে অ্যালফাবেট নয় এমন সব ক্যারেক্টার একই জায়গায় থাকবে, এবং সব অক্ষর তাদের অবস্থান উল্টে দেবে।
উদাহরণস্বরূপ, যদি ইনপুট হয় –
ইনপুট
const str = 'k_lmn_opq';
আউটপুট
const output = 'q_pon_mlk';
উদাহরণ
নিচে কোডটি দেওয়া হল –
const str = 'k_lmn_opq';
const reverseAlphabets = (str) => {
const arr = str.split('');
let left = 0;
let right = arr.length - 1;
const swap = (a, b) => {
const temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
};
const isLetter = (x = '') => /[a-zA-Z]/.test(x);
while (left <= right) {
while (!isLetter(arr[left])) {
left += 1;
if (left > right) {
break;
}
}
while (!isLetter(arr[right])) {
right -= 1;
if (left > right) {
break;
}
}
if (left > right) {
break;
}
swap(left, right);
left += 1;
right -= 1;
}
return arr.join('');
};
console.log(reverseAlphabets(str));
আউটপুট
q_pon_mlk