Monday, November 18, 2024
Google search engine
HomeData Modelling & AIReplace every consonant sequence with its length in the given string

Replace every consonant sequence with its length in the given string

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 that will be free from consonants. For it, we have to iterate the given string. If we find a vowel it will be added to the new string as it is. If we find a consonant then we have to find the length of the complete consonant sequence and then add its length to the new string. 

Algorithm:

Step 1: Start
Step 2: create a function that returns the string value that replaces every consonant sequence with its length and takes the input of a string type.
Step 3: Initialize an empty string say “res” inside it.
Step 4: To count the length of the consonant sequence as you iterate through the string, define the integer variables I and count.
Step 5: start a while loop to traverse through the input string
Step 6: If the character is a consonant, increment the count by 1.
            If the character is a vowel, add the count to the resultant string res, then add the vowel to res, and reset the count to 0.
Step 7: now after the while loop checks if there is a consonant sequence left in the string. If yes, add the count to the resultant string.
Step 8: Return the obtained string res
Step 9: End
 

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

 

Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n), where n is the length of the given string.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments