Open In App

Count the pairs of vowels in the given string

Improve
Improve
Like Article
Like
Save
Share
Report

Given a string str consisting of lowercase English alphabets, the task is to count the number of adjacent pairs of vowels.
Examples: 
 

Input: str = “abaebio” 
Output:
(a, e) and (i, o) are the only valid pairs.
Input: str = “aeoui” 
Output:
 

 

Approach: Starting from the first character of the string to the second last character, increment count for every character where str[i] as well as str[i + 1] are both vowels. Print the count in the end which is the required count of pairs.
Below is the implementation of the above approach:
 

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function that return true
// if character ch is a vowel
bool isVowel(char ch)
{
    switch (ch) {
    case 'a':
    case 'e':
    case 'i':
    case 'o':
    case 'u':
        return true;
    default:
        return false;
    }
}
 
// Function to return the count of adjacent
// vowel pairs in the given string
int vowelPairs(string s, int n)
{
    int cnt = 0;
    for (int i = 0; i < n - 1; i++) {
 
        // If current character and the
        // character after it are both vowels
        if (isVowel(s[i]) && isVowel(s[i + 1]))
            cnt++;
    }
 
    return cnt;
}
 
// Driver code
int main()
{
    string s = "abaebio";
    int n = s.length();
    cout << vowelPairs(s, n);
 
    return 0;
}


Java




// Java implementation of the approach
class GFG {
 
    // Function that return true
    // if character ch is a vowel
    static boolean isVowel(char ch)
    {
        switch (ch) {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
            return true;
        default:
            return false;
        }
    }
 
    // Function to return the count of adjacent
    // vowel pairs in the given string
    static int vowelPairs(String s, int n)
    {
        int cnt = 0;
        for (int i = 0; i < n - 1; i++) {
 
            // If current character and the
            // character after it are both vowels
            if (isVowel(s.charAt(i)) && isVowel(s.charAt(i + 1)))
                cnt++;
        }
 
        return cnt;
    }
 
    // Driver code
    public static void main(String args[])
    {
        String s = "abaebio";
        int n = s.length();
        System.out.print(vowelPairs(s, n));
    }
}


Python3




# Python3 implementation of the approach
 
# Function that return true
# if character ch is a vowel
def isVowel(ch):
    if ch in ['a', 'e', 'i', 'o', 'u']:
        return True
    else:
        return False
 
# Function to return the count of adjacent
# vowel pairs in the given string
def vowelPairs(s, n):
 
    cnt = 0
    for i in range(n - 1):
 
        # If current character and the
        # character after it are both vowels
        if (isVowel(s[i]) and
            isVowel(s[i + 1])):
            cnt += 1
 
    return cnt
 
# Driver code
s = "abaebio"
n = len(s)
print(vowelPairs(s, n))
 
# This code is contributed
# by mohit kumar


C#




// C# implementation of the approach
using System;
 
class GFG
{
 
    // Function that return true
    // if character ch is a vowel
    static bool isVowel(char ch)
    {
        switch (ch)
        {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
            return true;
        default:
            return false;
        }
    }
 
    // Function to return the count of adjacent
    // vowel pairs in the given string
    static int vowelPairs(string s, int n)
    {
        int cnt = 0;
        for (int i = 0; i < n - 1; i++)
        {
 
            // If current character and the
            // character after it are both vowels
            if (isVowel(s[i]) && isVowel(s[i + 1]))
                cnt++;
        }
 
        return cnt;
    }
 
    // Driver code
    public static void Main()
    {
        string s = "abaebio";
        int n = s.Length;
         
        Console.WriteLine(vowelPairs(s, n));
    }
}
 
// This code is contributed by Ryuga


PHP




<?php
// PHP implementation of the approach
 
// Function that return true
// if character ch is a vowel
function isVowel($ch)
{
    if($ch == 'a' || $ch == 'e' ||
       $ch == 'i' || $ch == 'o' ||
       $ch == 'u')
        return true;
    return false;
}
 
// Function to return the count of adjacent
// vowel pairs in the given string
function vowelPairs($s, $n)
{
    $cnt = 0;
    for ($i = 0; $i < $n - 1; $i++)
    {
 
        // If current character and the
        // character after it are both vowels
        if (isVowel($s[$i]) &&
            isVowel($s[$i + 1]))
            $cnt++;
    }
    return $cnt;
}
 
// Driver code
$s = "abaebio";
$n = strlen($s);
echo vowelPairs($s, $n);
 
// This code is contributed by mits
?>


Javascript




<script>
 
// Javascript implementation of the approach
 
    // Function that return true
    // if character ch is a vowel
    function isVowel(ch)
    {
        switch (ch) {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
            return true;
        default:
            return false;
        }
    }
   
    // Function to return the count of adjacent
    // vowel pairs in the given string
    function vowelPairs(s, n)
    {
        let cnt = 0;
        for (let i = 0; i < n - 1; i++) {
   
            // If current character and the
            // character after it are both vowels
            if (isVowel(s[i]) && isVowel(s[i + 1]))
                cnt++;
        }
   
        return cnt;
    }
       
 
// Driver Code
 
        let s = "abaebio";
        let n = s.length;
        document.write(vowelPairs(s, n));
           
</script>


Output: 

2

 

Time Complexity: O(n) where n is the length of the string
Auxiliary Space: O(1)



Last Updated : 08 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads