Skip to content
Related Articles

Related Articles

Improve Article

Check if the string satisfies the given condition

  • Last Updated : 29 Jul, 2021

Given a string str, the task is to check whether the count of vowels in the given string is prime or not. If its prime then print YES else print NO.

Examples: 

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 experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

Input: str = “geeksforgeeks” 
Output: YES 
Count of vowels is 5 (e, e, o, e and e) which is prime.



Input: str = “aeioua” 
Output: NO 

Approach: Initialize a variable count = 0 and traverse the string character by character, if the current character is a vowel then update count = count + 1. In the end, if count is prime then print YES else print NO.

Below is the implementation of the above approach: 

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
#define ll long long int
using namespace std;
 
// Function that returns true if n is prime
bool prime(int n)
{
    // Corner cases
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;
 
    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n % 2 == 0 || n % 3 == 0)
        return false;
 
    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;
 
    return true;
}
 
// Function that returns true if c is a vowel
bool isVowel(char c)
{
    c = tolower(c);
    if (c == 'a'
        || c == 'e'
        || c == 'i'
        || c == 'o'
        || c == 'u')
        return true;
    return false;
}
 
// Function that returns true if the count
// of vowels in word is prime
bool isValidString(string word)
{
    int cnt = 0;
 
    for (int i = 0; i < word.length(); i++) {
        if (isVowel(word[i]))
            cnt++;
    }
 
    // If count of vowels is prime
    if (prime(cnt))
        return true;
    else
        return false;
}
 
// Driver code
int main()
{
    string s = "geeksforgeeks";
    if (isValidString(s))
        cout << "YES";
    else
        cout << "NO";
    return 0;
}

Java




// Java implementation of the approach
import java.util.*;
 
class GFG
{
 
    // Function that returns true if n is prime
    static boolean prime(int n)
    {
        // Corner cases
        if (n <= 1)
        {
            return false;
        }
        if (n <= 3)
        {
            return true;
        }
 
        // This is checked so that we can skip
        // middle five numbers in below loop
        if (n % 2 == 0 || n % 3 == 0)
        {
            return false;
        }
 
        for (int i = 5; i * i <= n; i = i + 6)
        {
            if (n % i == 0 || n % (i + 2) == 0)
            {
                return false;
            }
        }
 
        return true;
    }
 
    // Function that returns true if c is a vowel
    static boolean isVowel(char c)
    {
        c = Character.toLowerCase(c);
        if (c == 'a' || c == 'e' ||
            c == 'i' || c == 'o' || c == 'u')
        {
            return true;
        }
        return false;
    }
 
    // Function that returns true if the count
    // of vowels in word is prime
    static boolean isValidString(String word)
    {
        int cnt = 0;
 
        for (int i = 0; i < word.length(); i++)
        {
            if (isVowel(word.charAt(i)))
            {
                cnt++;
            }
        }
 
        // If count of vowels is prime
        if (prime(cnt))
        {
            return true;
        } else
        {
            return false;
        }
    }
 
    // Driver code
    public static void main(String args[])
    {
        String s = "geeksforgeeks";
        if (isValidString(s))
            System.out.println("YES");
        else
            System.out.println("NO");
    }
}
 
// This code is contributed by Princi Singh

Python3




# Python3 implementation of the approach
  
# Function that returns true if n is prime
def prime(n):
 
    # Corner cases
    if (n <= 1):
        return False
    if (n <= 3):
        return True
  
    # This is checked so that we can skip
    # middle five numbers in below loop
    if (n % 2 == 0 or n % 3 == 0):
        return False
     
    i = 5
    while i * i <= n:
        if (n % i == 0 or n % (i + 2) == 0):
            return False
             
        i += 6
 
    return True
     
# Function that returns true
# if c is a vowel
def isVowel(c):
 
    c = c.lower()
    if (c == 'a' or c == 'e' or
        c == 'i' or c == 'o' or
        c == 'u'):
        return True
         
    return False
 
# Function that returns true if the
# count of vowels in word is prime
def isValidString(word):
     
    cnt = 0;
     
    for i in range(len(word)):
        if (isVowel(word[i])):
            cnt += 1
  
    # If count of vowels is prime
    if (prime(cnt)):
        return True
    else:
        return False
 
# Driver code
if __name__=="__main__":
     
    s = "geeksforgeeks"
     
    if (isValidString(s)):
        print("YES")
    else:
        print("NO")
 
# This code is contributed by rutvik_56

C#




// C# implementation of the approach
using System;
     
class GFG
{
 
    // Function that returns true if n is prime
    static Boolean prime(int n)
    {
        // Corner cases
        if (n <= 1)
        {
            return false;
        }
        if (n <= 3)
        {
            return true;
        }
 
        // This is checked so that we can skip
        // middle five numbers in below loop
        if (n % 2 == 0 || n % 3 == 0)
        {
            return false;
        }
 
        for (int i = 5; i * i <= n; i = i + 6)
        {
            if (n % i == 0 || n % (i + 2) == 0)
            {
                return false;
            }
        }
 
        return true;
    }
 
    // Function that returns true if c is a vowel
    static Boolean isVowel(char c)
    {
        c = char.ToLower(c);
        if (c == 'a' || c == 'e' ||
            c == 'i' || c == 'o' || c == 'u')
        {
            return true;
        }
        return false;
    }
 
    // Function that returns true if the count
    // of vowels in word is prime
    static Boolean isValidString(String word)
    {
        int cnt = 0;
 
        for (int i = 0; i < word.Length; i++)
        {
            if (isVowel(word[i]))
            {
                cnt++;
            }
        }
 
        // If count of vowels is prime
        if (prime(cnt))
        {
            return true;
        } else
        {
            return false;
        }
    }
 
    // Driver code
    public static void Main(String []args)
    {
        String s = "geeksforgeeks";
        if (isValidString(s))
            Console.WriteLine("YES");
        else
            Console.WriteLine("NO");
    }
}
 
// This code has been contributed by 29AjayKumar

Javascript




<script>
 
// JavaScript implementation of the approach
 
// Function that returns true if n is prime
function prime(n)
{
    // Corner cases
        if (n <= 1)
        {
            return false;
        }
        if (n <= 3)
        {
            return true;
        }
  
        // This is checked so that we can skip
        // middle five numbers in below loop
        if (n % 2 == 0 || n % 3 == 0)
        {
            return false;
        }
  
        for (let i = 5; i * i <= n; i = i + 6)
        {
            if (n % i == 0 || n % (i + 2) == 0)
            {
                return false;
            }
        }
  
        return true;
}
 
// Function that returns true if c is a vowel
function isVowel(c)
{
    c = c.toLowerCase();
        if (c == 'a' || c == 'e' ||
            c == 'i' || c == 'o' || c == 'u')
        {
            return true;
        }
        return false;
}
 
 // Function that returns true if the count
    // of vowels in word is prime
function isValidString(word)
{
    let cnt = 0;
  
        for (let i = 0; i < word.length; i++)
        {
            if (isVowel(word[i]))
            {
                cnt++;
            }
        }
  
        // If count of vowels is prime
        if (prime(cnt))
        {
            return true;
        } else
        {
            return false;
        }
}
 
// Driver code
let s = "geeksforgeeks";
if (isValidString(s))
    document.write("YES<br>");
else
    document.write("NO<br>");
 
 
// This code is contributed by rag2127
 
</script>
Output: 
YES

 




My Personal Notes arrow_drop_up
Recommended Articles
Page :