Given an array arr1[] of size n, so firstly we have to reverse each element of an array, and store each of that reversed element in new arr2[] and then sort.
Examples:
Input : arr1[]={45,67,98,10} Output : after sorting=>{1,54,76,89} Explanation : arr1[]={45,67,98,10} so after reversing each element: arr2[]={54,76,89,1} after sorting arr2[] becomes: arr2={1,54,76,89} Input : arr1[]={20,56,90,19,42,67} Output : after sorting=>{2,9,24,65,76,91}
Approach:
- After taking the input just start a for loop in which we are reversing each element of arr1[] and store that in arr2[].
- After reversing and storing all the reverse elements in arr2[], then we have to sort arr2[].
- Then just print arr2[].
Below is the implementation:
# Python program to reverse each element of a list # after reversing and storing in a new array # sort the new array # Function to reverse each element and sort the list def reverse_sort(arr1, n): arr2 = [] for i in range(n): # Convert the element to a string arr1[i] = str(arr1[i]) # Reverse the string j = arr1[i][::-1] # After reversing, convert it back to an integer arr2.append(int(j)) # Sort the list in ascending order arr2.sort() return arr2 # Driver Code if __name__ == "__main__": arr1 = list(map(int, input().split())) l_sort = reverse_sort(arr1, len(arr1)) for i in l_sort: print(i, end=" ")
Input:
20 56 90 19 42 67
Output:
2 9 24 65 76 91
Time Complexity: O(n logn)
Space Complexity: O(n)
Please write comments if you find anything incorrect. A gentle request to share this topic on your social media profile.