Given a string str consisting of lowercase characters. The task is to replace the consecutive sequence of consonants with their length.
Examples:
Input: str = “abcdeiop”
Output: a3eio1
Given string contains 2 consonant sequences “bcd” and “p” with lengths 3 and 1.Input: str = “abecidofu”
Output: a1e1i1o1u
Approach: Make a new string which will be free from consonants. For it, we have to iterate the given string. If we find vowel it will be added to the new string as it is. If we find consonant then we have to find the length of complete consonant sequence and then add its length to the new string.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to return the converted string // after replacing every consonant sequence // with its length string replaceConsonants(string str) { // To store the resultant string string res = "" ; int i = 0, count = 0; // Checking each character // for consonant sequence while (i < str.length()) { // Count the length of consonants sequence if (str[i] != 'a' && str[i] != 'e' && str[i] != 'i' && str[i] != 'o' && str[i] != 'u' ) { i++; count++; } else { // Add the length in the string if (count > 0) res += to_string(count); // Add the vowel res += str[i]; i++; count = 0; } } // Check for the last consonant sequence // in the string if (count > 0) res += to_string(count); // Return the resultant string return res; } // Driver code int main() { string str = "abcdeiop" ; cout << replaceConsonants(str); return 0; } |
Java
// Java implementation of the approach import java.util.*; import java.lang.*; class GFG { // Function to return the converted string // after replacing every consonant sequence // with its length static String replaceConsonants(String str) { // To store the resultant string String res = "" ; int i = 0 , count = 0 ; // Checking each character // for consonant sequence while (i < str.length()) { // Count the length of consonants sequence if (str.charAt(i) != 'a' && str.charAt(i) != 'e' && str.charAt(i) != 'i' && str.charAt(i) != 'o' && str.charAt(i) != 'u' ) { i++; count++; } else { // Add the length in the string if (count > 0 ) res += count; // Add the vowel res += str.charAt(i); i++; count = 0 ; } } // Check for the last consonant sequence // in the string if (count > 0 ) res += count; // Return the resultant string return res; } // Driver code public static void main(String[] args) { String str = "abcdeiop" ; System.out.println(replaceConsonants(str)); } } // This code is contributed by Code_Mech. |
Python3
# Python3 implementation of the above approach # Function to return the converted string # after replacing every consonant sequence # with its length def replaceConsonants(string) : # To store the resultant string res = ""; i = 0 ; count = 0 ; # Checking each character # for consonant sequence while (i < len (string)) : # Count the length of consonants sequence if (string[i] ! = 'a' and string[i] ! = 'e' and string[i] ! = 'i' and string[i] ! = 'o' and string[i] ! = 'u' ) : i + = 1 ; count + = 1 ; else : # Add the length in the string if (count > 0 ) : res + = str (count); # Add the vowel res + = string[i]; i + = 1 count = 0 ; # Check for the last consonant # sequence in the string if (count > 0 ) : res + = str (count); # Return the resultant string return res; # Driver code if __name__ = = "__main__" : string = "abcdeiop" ; print (replaceConsonants(string)); # This code is contributed by Ryuga |
C#
using System; // c# implementation of the approach public class GFG { // Function to return the converted string // after replacing every consonant sequence // with its length public static string replaceConsonants( string str) { // To store the resultant string string res = "" ; int i = 0, count = 0; // Checking each character // for consonant sequence while (i < str.Length) { // Count the length of consonants sequence if (str[i] != 'a' && str[i] != 'e' && str[i] != 'i' && str[i] != 'o' && str[i] != 'u' ) { i++; count++; } else { // Add the length in the string if (count > 0) { res += count; } // Add the vowel res += str[i]; i++; count = 0; } } // Check for the last consonant sequence // in the string if (count > 0) { res += count; } // Return the resultant string return res; } // Driver code public static void Main( string [] args) { string str = "abcdeiop" ; Console.WriteLine(replaceConsonants(str)); } } // This code is contributed by Shrikant13 |
a3eio1
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.