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 = "geeksforgeeks" char = e, count = 2 Output : ksforgeeks
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 = "geeks for geeks" ;
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 = "geeks for geeks" ;
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 = "geeks for geeks"
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 = "geeks for geeks" ;
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 = "geeks for geeks" ;
printString(str, 'e' , 2);
// This code is contributed by Amit Katiyar </script> |
Output
ks for geeks
Time complexity : O(n)
Auxiliary Space : O(1)