Here is a problem going to be solve in given string having a number of characters but is going to be remove the last N characters from a string using python.
In logical words given a string S and an integer N, the task is to remove N characters from the end of the string S.
Input: S = “LingarajTechhub”, N = 5
Output: LingarajTe
Explanation: Removing the last 5 characters from “LingarajTechhub” modifies the string to “LingarajTe”.
Input: S = “Welcome”, N = 3
Output: Welc
1st Algorithm removes the last N characters from a string:
Follow the steps below to solve the problem:
Step-1: Initialize an empty string, say res, to store the resultant string.
Step-2: Iterate over the characters of the string S up to index len(S) – N.
Step-3: Then at last the removing characters store on res.
Below is the implementation of the above approach:
# Python3 code for the above approach # Function to remove last N # characters from string def removeLastN(S, N): # Stores the resultant string res = '' # Traverse the string for i in range(len(S)-N): # Insert current character res += S[i] # Return the string return res # Driver Code # Input S = "LingarajTechhub" N = 5 print(removeLastN(S, N))
Output:
LingarajTe
Time Complexity: O(N), where N is the length of the string.
Auxiliary Space: O(N)
2nd Algorithm removes the last N characters from a string:
Now we follow the approach to solve this problem using replace() method with help of the following steps:
Step-1: Initialize a string, say res, to store the resultant string.
Step-2: Then we do reverse the string.
Step-3: Using replace() method, remove the first occurrence of the first N characters of S and store it in res.
Step-4: Reverse the string res.
Below is the implementation of the above approach:
# Python3 code for the above approach # Function to remove last N # characters from string S def removeLastN(S, N): # Stores resultant string res = '' # Reversing S S = S[::-1] # Removing last N characters res = S.replace(S[:N], '', 1) # Reversing back res res = res[::-1] # Return the string return res # Driver Code # Input S = "LingarajTechhub" N = 5 print(removeLastN(S, N))
Output:
LingarajTe
Time Complexity: O(N), where N is the length of the string.
Auxiliary Space: O(N)
3rd algorithm removes the last N characters from a string:
In this algorithm we are using String Slice method or approach to solve the problem.
- Step-1: Initialize a string, say res, to store the resultant string.
- Step-2: Update res to S[:len(S) – N], to store all characters except the last N characters of S.
Below is the implementation of the above approach:
# Python3 code for the above approach # Function to remove last N # characters from string S def removeLastN(S, N): S = S[:len(S)-N] # Return the string return S # Driver Code # Input S = "LingarajTechhub" N = 5 print(removeLastN(S, N))
Output:
LingarajTe
Time Complexity: O(N), where N is the length of the string.
Auxiliary Space: O(1)
Please comment and share about this article and if you want to improve this article please WhatsApp us.