কম্পিউটার

জাভাস্ক্রিপ্টে বাম এবং ডানে বৃত্তাকার স্ট্রিং শিফট করুন


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা তিনটি আর্গুমেন্ট নেয়, প্রথমে একটি স্ট্রিং, বলুন str, তারপরে আমাদের দুটি সংখ্যা আছে, ধরা যাক m এবং n। সংখ্যা m এবং n মূলত যথাক্রমে বাম শিফট এবং ডান শিফটের পরিমাণ নির্দিষ্ট করে।

আমরা এইরকম −

এই পদগুলিকে সংজ্ঞায়িত করি

বাম স্থানান্তর৷ − স্ট্রিংয়ের একটি একক বৃত্তাকার ঘূর্ণন যেখানে প্রথম অক্ষরটি শেষ অক্ষর হয়ে যায় এবং অন্য সব অক্ষর একটি সূচী বাম দিকে স্থানান্তরিত হয়৷

উদাহরণস্বরূপ, একটি বাম শিফটের পর abcde হয় bcdea এবং দুটি বাম শিফটের পর cdeab।

ডান স্থানান্তর − স্ট্রিংয়ের একটি একক বৃত্তাকার ঘূর্ণন যেখানে শেষ অক্ষরটি প্রথম অক্ষর হয়ে যায় এবং অন্য সমস্ত অক্ষর ডানদিকে স্থানান্তরিত হয়৷

যেমন, abcde এক রাইট শিফটের পর eabcd হয় এবং দুই ডান শিফটের পর deabc হয়।

সুতরাং, মূলত আমাদের ফাংশনটি নির্দিষ্ট সংখ্যক বাম এবং ডান স্থানান্তর সম্পাদন করবে এবং তারপর অবশেষে ফলাফল স্ট্রিংটি ফেরত দেবে।

উদাহরণ

এর জন্য কোড হবে −

const str = 'abcdef';
const getShiftedString = (str, leftShifts, rightShifts) =>
shiftByAmount(shiftByAmount(str, leftShifts), −rightShifts);
// helper function
// negative amount shifts to right
// positive amount shifts to left
const shiftByAmount = (str, leftShifts) => {
   leftShifts = leftShifts % str.length;
   return str.slice(leftShifts) + str.slice(0, leftShifts);
};
console.log(getShiftedString(str, 3, 2));

আউটপুট

এবং কনসোলে আউটপুট হবে −

Bcdefa

  1. কিভাবে জাভাস্ক্রিপ্টে একটি নিয়মিত এক্সপ্রেশন পরীক্ষা এবং চালানো যায়?

  2. অভিধানিকভাবে সাজানো এবং জাভাস্ক্রিপ্টে হোয়াইটস্পেস অপসারণ করা

  3. C/C++ এ Left Shift এবং Right Shift অপারেটর

  4. C# এ লেফট শিফট এবং রাইট শিফট অপারেটর (>> এবং <<) কি?