Skip to content
Related Articles

Related Articles

Improve Article
Replace every consonant sequence with its length in the given string
  • Last Updated : 29 Apr, 2021

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

Javascript




<script>
      // JavaScript implementation of the approach
 
      // Function to return the converted string
      // after replacing every consonant sequence
      // with its length
      function replaceConsonants(str) {
        // To store the resultant string
        var res = "";
        var 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.toString();
 
            // Add the vowel
            res += str[i];
 
            i++;
            count = 0;
          }
        }
 
        // Check for the last consonant sequence
        // in the string
        if (count > 0) res += count.toString();
 
        // Return the resultant string
        return res;
      }
 
      // Driver code
      var str = "abcdeiop";
      document.write(replaceConsonants(str));
       
      // This code is contributed by rdtank.
    </script>
Output: 
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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with industry experts, please refer DSA Live Classes 




My Personal Notes arrow_drop_up
Recommended Articles
Page :