Given a string, a character, and a count, the task is to print the string after the specified character has occurred count number of times. Print “Empty string” in case of any unsatisfying conditions. (Given character is not present, or present but less than given count, or given count completes on last index). If given count is 0, then given character doesn’t matter, just print the whole string.
Examples:
Input : str = "This is demo string" char = i, count = 3 Output : ng Input : str = "neveropen" char = e, count = 2 Output : ksforneveropen
Asked in: Oracle
Implementation:
- Start traversing the string.
- Increment occ_count if current char is equal to given char.
- Get out of the loop, if occ_count becomes equal to given count.
- Print the string after the index till the string gets traversed in the loop.
- If index has reached the last, then print “Empty string”.
Implementation:
C++
// C++ program for above implementation #include <iostream> using namespace std; // Function to print the string void printString(string str, char ch, int count) { int occ = 0, i; // If given count is 0 // print the given string and return if (count == 0) { cout << str; return ; } // Start traversing the string for (i = 0; i < str.length(); i++) { // Increment occ if current char is equal // to given character if (str[i] == ch) occ++; // Break the loop if given character has // been occurred given no. of times if (occ == count) break ; } // Print the string after the occurrence // of given character given no. of times if (i < str.length() - 1) cout << str.substr(i + 1, str.length() - (i + 1)); // Otherwise string is empty else cout << "Empty string" ; } // Drivers code int main() { string str = "neveropen for neveropen" ; printString(str, 'e' , 2); return 0; } |
Java
// Java program for above implementation public class GFG { // Method to print the string static void printString(String str, char ch, int count) { int occ = 0 , i; // If given count is 0 // print the given string and return if (count == 0 ) { System.out.println(str); return ; } // Start traversing the string for (i = 0 ; i < str.length(); i++) { // Increment occ if current char is equal // to given character if (str.charAt(i) == ch) occ++; // Break the loop if given character has // been occurred given no. of times if (occ == count) break ; } // Print the string after the occurrence // of given character given no. of times if (i < str.length() - 1 ) System.out.println(str.substring(i + 1 )); // Otherwise string is empty else System.out.println( "Empty string" ); } // Driver Method public static void main(String[] args) { String str = "neveropen for neveropen" ; printString(str, 'e' , 2 ); } } |
Python3
# Python3 program for above implementation # Function to print the string def printString( str , ch, count): occ, i = 0 , 0 # If given count is 0 # print the given string and return if (count = = 0 ): print ( str ) # Start traversing the string for i in range ( len ( str )): # Increment occ if current char # is equal to given character if ( str [i] = = ch): occ + = 1 # Break the loop if given character has # been occurred given no. of times if (occ = = count): break # Print the string after the occurrence # of given character given no. of times if (i < len ( str ) - 1 ): print ( str [i + 1 : len ( str ) - i + 2 ]) # Otherwise string is empty else : print ( "Empty string" ) # Driver code if __name__ = = '__main__' : str = "neveropen for neveropen" printString( str , 'e' , 2 ) # This code is contributed # by 29AjayKumar |
C#
// C# program for above implementation using System; public class GFG { // Method to print the string static public void printString( string str, char ch, int count) { int occ = 0, i; // If given count is 0 // print the given string // and return if (count == 0) { Console.WriteLine(str); return ; } // Start traversing the string for (i = 0; i < str.Length; i++) { // Increment occ if current // char is equal to given // character if (str[i] == ch) occ++; // Break the loop if given // character has been occurred // given no. of times if (occ == count) break ; } // Print the string after the // occurrence of given character // given no. of times if (i < str.Length - 1) Console.WriteLine(str.Substring(i + 1)); // Otherwise string is empty else Console.WriteLine( "Empty string" ); } // Driver Method static public void Main() { string str = "neveropen for neveropen" ; printString(str, 'e' , 2); } } // This code is contributed by vt_m. |
Javascript
<script> // JavaScript program for above implementation // Method to print the string function printString(str, ch , count) { var occ = 0, i; // If given count is 0 // print the given string and return if (count == 0) { document.write(str); return ; } // Start traversing the string for (i = 0; i < str.length; i++) { // Increment occ if current char is equal // to given character if (str.charAt(i) == ch) occ++; // Break the loop if given character has // been occurred given no. of times if (occ == count) break ; } // Print the string after the occurrence // of given character given no. of times if (i < str.length - 1) document.write(str.substring(i + 1)); // Otherwise string is empty else document.write( "Empty string" ); } // Driver Method var str = "neveropen for neveropen" ; printString(str, 'e' , 2); // This code is contributed by Amit Katiyar </script> |
ks for neveropen
Time complexity : O(n)
Auxiliary Space : O(1)
This article is contributed by Sahil Chhabra. If you like neveropen and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the neveropen main page and help other Geeks.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!