কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে স্ট্রিং সার্কুলারলি লেফট এবং রাইট শিফট করা


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

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