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

জাভাস্ক্রিপ্টে স্ট্রিংয়ের ভেতরে শিফ্ট অপারেশন انجام করা


মনে করুন একটি স্ট্রিং str আছে যেটিতে শুধু ইংরেজি ছোট হাতের অক্ষর রয়েছে, এবং একটি অ্যারে arr আছে যেটির প্রতিটি উপাদান হচ্ছে [direction, amount]।

  • direction হতে পারে ০ (বামে শিফ্ট) বা ১ (ডানে শিফ্ট)।

  • amount হলো স্ট্রিংটি কতটুকু শিফ্ট করতে হবে।

  • ১ বাম শিফ্ট মানে স্ট্রিংয়ের প্রথম অক্ষরটি সরিয়ে শেষে যোগ করা।

  • ১ ডান শিফ্ট মানে স্ট্রিংয়ের শেষ অক্ষরটি সরিয়ে শুরুতে যোগ করা।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা স্ট্রিংটি প্রথম আর্গুমেন্ট ও শিফ্ট ডেটার অ্যারেটি دومা আর্গুমেন্ট হিসেবে নেবে। ফাংশনটি অ্যারেটি ইটারেট করে স্ট্রিংয়ে প্রয়োজনীয় শিফ্টগুলো সম্পাদন করবে এবং নতুন স্ট্রিংটি রিটার্ন করবে।

উদাহরণ:

ইনপুট স্ট্রিং ও অ্যারে হলে:

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

আউটপুট হবে:

const output = 'cab';

কারণ:

[0,1] মানে বামে ১ শিফ্ট। "abc" -> "bca"

[1,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. জাভাস্ক্রিপ্টে সুন্দর সংখ্যা স্ট্রিং (Beautiful Number String) নির্ধারণ করা

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

  3. জাভাস্ক্রিপ্টে সার্কুলার স্ট্রিংয়ে ইউনিক সাবস্ট্রিং গণনা করা

  4. জাভাস্ক্রিপ্টে টাইম স্ট্রিং রেক্টিফাই করা (HH:MM:SS)