First Place in Python

Problem Statement:

You are given two strings S1 and S2. You have to check if S1 is the string rotation of S2.
One string is a string rotation of another, it becomes like another string if rotated by one unit.
If S1 is the string rotation of S2, print the number of right rotations require to convert the string S1 to S2. Else print the string is not the rotation of the other.

Right rotation: Right rotation means rotating the string to right by 1 unit. For eg. if the string is “copyassignment”, then its right rotation will be “tcopyassignmen”, i.e. the last character will move to first and all the rest characters will be shifted to the right by 1 unit.

For example
Input1:
S1: assignmentcopy
S2: copyassignment
Output1:
Strings are rotations of each other.
Total Rotations = 4
Input2:
S1: assignmentypoc
S2: copyassignment
Output2:
Strings are not rotations of each other.

Code for first place in Python:

# importing deque from collections module
from collections import deque

# declaring 2 string
mystr1 = 'copyassignment'
mystr2 = 'assignmentcopy'

# declaring an empty list
allrotations = []

# finding all rotations of mystr1 and storing them to allrotations
for i in mystr1:
    items = deque(mystr1)
    items.rotate(1)
    mystr1 = list(items)
    mystr1 = ''.join(mystr1)
    allrotations.append(mystr1)

found = False
# checking the mystr2 in allrotations and printing number of rotations required
for i in range(len(allrotations)):
    if mystr2==allrotations[i]:
        found = True
        print(i+1)
else:
    if not found:
        print("No rotations found")

Input1:

Input 1 for First Place in Python

Output1:

Output 1 for First Place in Python

Input2:

Input 2

Output2:

Output 2

Also Read:

Share:

Author: Harry

Hello friends, thanks for visiting my website. I am a Python programmer. I, with some other members, write blogs on this website based on Python and Programming. We are still in the growing phase that's why the website design is not so good and there are many other things that need to be corrected in this website but I hope all these things will happen someday. But, till then we will not stop ourselves from uploading more amazing articles. If you want to join us or have any queries, you can mail me at admin@copyassignment.com Thank you