In this HackerEarth All Vowels problem solution Vowels are very essential characters to form any meaningful word in the English dictionary. There are 5 vowels in the English language - a, e, i, o u. You are given a random string containing only lowercase letters and you need to find if the string contains ALL the vowels.


HackerEarth All Vowels problem solution


HackerEarth All Vowels problem solution.

#include <bits/stdc++.h>

#define rep(i,n) for(i=0;i<n;i++)
#define ll long long
#define elif else if
#define pii pair< int, int>
#define mp make_pair
#define pb push_back
using namespace std;
#define gc getchar_unlocked

int randi(int l,int r)
{
if(r<l)
return l;
return rand()%(r-l+1) +l;
}

int done[5]={0};
int main()
{
freopen("in.txt","r",stdin);
freopen("out","w",stdout);
int i,j,n,mi=99999,ma=0;
cin>>n;
string st;
cin>>st;
rep(i,n)
{
if(st[i]=='a')
done[0]++;
if(st[i]=='e')
done[1]++;
if(st[i]=='i')
done[2]++;
if(st[i]=='o')
done[3]++;
if(st[i]=='u')
done[4]++;
}
rep(i,5)
{
if(!done[i])
{
cout<<"NO";
return 0;
}
}
cout<<"YES";
return 0;
}

Second solution

#include<bits/stdc++.h>
using namespace std;
int main(){

int N;
string S;
cin>>N>>S;
assert(N>=1 && N<=10000);
assert(S.length()==N);
// a,e,i,o,u
bool flag1=false,flag2=false,flag3=false,flag4=false,flag5=false;
for(int i=0;i<N;i++){
if(S[i]=='a')
flag1=true;
else if(S[i]=='e')
flag2=true;
else if(S[i]=='i')
flag3=true;
else if(S[i]=='o')
flag4=true;
else if(S[i]=='u')
flag5=true;

if(flag1==true && flag2==true &&flag3==true && flag4==true && flag5==true)
break;
}

if(flag1==true && flag2==true &&flag3==true && flag4==true && flag5==true)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;

}