সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং স্ট্র এবং একটি সংখ্যা 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