একটি স্ট্রিং দেওয়া আছে, আমাদের কাজ হলো স্ট্রিংকে দুভাবে স্লাইস করা। একটি হলো ক্লকওয়াইজ (clockwise) এবং অন্যটি অ্যান্টিক্লকওয়াইজ (anticlockwise)।
1. বাম (অথবা অ্যান্টিক্লকওয়াইজ) দিয়ে দেওয়া স্ট্রিংকে d এলিমেন্ট দিয়ে রোটেট করুন (যেখানে d <= n)।
2. ডান (অথবা ক্লকওয়াইজ) দিয়ে দেওয়া স্ট্রিংকে d এলিমেন্ট দিয়ে রোটেট করুন (যেখানে d <= n)।
উদাহরণ
Input: string = "pythonprogram" d = 2 Output: Left Rotation: thonprogrampy Right Rotation: ampythonprogr
অ্যালগরিদম
ধাপ ১: স্ট্রিং ইনপুট নিন। ধাপ ২: স্ট্রিংকে দুটি পার্টে ভাগ করুন প্রথম এবং দ্বিতীয়, বাম রোটেশনের জন্য Lfirst = str[0 : d] এবং Lsecond = str[d :]। ডান রোটেশনের জন্য Rfirst = str[0 : len(str)-d] এবং Rsecond = str[len(str)-d : ]। ধাপ ৩: এখন এই দুটি পার্টকে পরস্পর second + first অনুযায়ী কনক্যাটেনেট করুন।
উদাহরণ কোড
def rotate(input,d): # স্ট্রিংকে বাম ও ডান রোটেশনের জন্য দুটি পার্টে স্লাইস Lfirst = input[0 : d] Lsecond = input[d :] Rfirst = input[0 : len(input)-d] Rsecond = input[len(input)-d : ] print ("Left Rotation : ", (Lsecond + Lfirst) ) print ("Right Rotation : ", (Rsecond + Rfirst) ) # ড্রাইভার প্রোগ্রাম if __name__ == "__main__": str = input("Enter String ::>") d=2 rotate(str,d)আউটপুট
Enter String ::> pythonprogram Left Rotation: thonprogrampy Right Rotation: ampythonprogr