কম্পিউটার

জাভাস্ক্রিপ্টে একটি স্ট্রিংয়ের মধ্যে স্থানান্তর করা হচ্ছে


ধরুন আমাদের কাছে ছোট হাতের ইংরেজি অক্ষর সম্বলিত একটি স্ট্রিং স্ট্র এবং অ্যারে অ্যারের একটি অ্যারে রয়েছে, যেখানে arr[i] =[নির্দেশ, পরিমাণ] −

  • দিক হতে পারে 0 (বাম শিফটের জন্য) বা 1 (ডান শিফটের জন্য)।

  • পরিমাণ হল সেই পরিমাণ যার মাধ্যমে স্ট্রিং s স্থানান্তরিত করা হবে।

  • 1 দ্বারা একটি বাম স্থানান্তর মানে s এর প্রথম অক্ষরটি সরিয়ে ফেলুন এবং এটিকে শেষে যুক্ত করুন।

  • একইভাবে, 1 দ্বারা একটি ডান স্থানান্তর মানে s এর শেষ অক্ষরটি সরিয়ে এটিকে শুরুতে যোগ করুন।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসাবে স্ট্রিং এবং দ্বিতীয় আর্গুমেন্ট হিসাবে শিফট ডেটা ধারণকারী অ্যারে নেয়৷

ফাংশনটি অ্যারের উপর পুনরাবৃত্ত হওয়া উচিত এবং স্ট্রিংটিতে প্রয়োজনীয় পরিবর্তনগুলি সঞ্চালন করা উচিত এবং অবশেষে নতুন স্ট্রিংটি ফিরিয়ে দেওয়া উচিত৷

যেমন −

যদি ইনপুট স্ট্রিং এবং অ্যারে হয় −

const str = 'abc';
const arr = [[0, 1], [1, 2]];

তারপর আউটপুট −

হওয়া উচিত
const output = 'cab';

কারণ,

[0,1] মানে 1 দ্বারা বামে স্থানান্তর করা। “abc” -> “bca”

[1,2] মানে 2 দ্বারা ডানদিকে সরানো৷ "bca" -> "cab"

উদাহরণ

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

const str = 'abc';
const arr = [[0, 1], [1, 2]];
const performShifts = (str = '', arr = []) => {
   if(str.length < 2){
      return str;
   };
   let right = 0
   let left = 0;
   for(let sub of arr){
      if(sub[0] == 0){
         left += sub[1];
      }else{
         right += sub[1];
      };
   };
   if(right === left){
      return str;
   }
   if(right > left){
      right = right - left;
      right = right % str.length;
      return str.substring(str.length - right) + str.substring(0,
      str.length - right);
   }else{
      left = left - right;
      left = left % str.length;
      return str.substring(left) + str.substring(0,left);
   };
};
console.log(performShifts(str, arr));

আউটপুট

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

cab

  1. জাভাস্ক্রিপ্টে সুন্দর সংখ্যা স্ট্রিং নির্ধারণ করা

  2. ম্যাজিকাল স্ট্রিং:জাভাস্ক্রিপ্টে প্রশ্ন

  3. জাভাস্ক্রিপ্টে বৃত্তাকার স্ট্রিং-এ অনন্য সাবস্ট্রিং

  4. জাভাস্ক্রিপ্টে সময় স্ট্রিং সংশোধন করা হচ্ছে