সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং স্ট্র এবং একটি সংখ্যা n নেয়। আমাদের ফাংশন n ব্যবহার করে প্রদত্ত স্ট্রিং স্ট্র পরিবর্তন করা উচিত।
n-এর প্রতিটি বিট s-
-এ প্রতিটি বর্ণমালার অক্ষরের ক্ষেত্রে কেস অদলবদল করবে কিনা তা নির্দিষ্ট করবে।বিট 1 হলে, কেস অদলবদল করুন; যদি এটি 0 হয়, এটিকে যেমন আছে তেমনি রেখে দিন। যখন আমরা n এর শেষ বিট দিয়ে শেষ করি, প্রথম বিট দিয়ে আবার শুরু করুন।
এবং অবশেষে, আমাদের এইভাবে গঠিত নতুন স্ট্রিংটি ফিরিয়ে দেওয়া উচিত।
উদাহরণ
নিম্নলিখিত কোড -
const str = 'hey there';
const num = 21;
const swapCase = (str = '', num = 1) => {
const alphaLength = str
.split('')
.reduce((acc, val) => val.toLowerCase() !== val.toUpperCase() ? ++acc : acc, 0);
let binary = num.toString(2);
while(binary.length < alphaLength){
binary += binary;
};
let res = '';
for(let i = 0; i < str.length; i++){
const el = str[i];
if(el.toUpperCase() !== el.toLowerCase() && +binary[i] === 1){
if(el.toLowerCase() === el){
res += el.toUpperCase();
}else{
res += el.toLowerCase();
}
}else{
res += el;
};
};
return res;
};
console.log(swapCase(str, num)); আউটপুট
নিম্নোক্ত কনসোল আউটপুট -
HeY TheRe