Given a string str and an integer X, the task is to find and print the first X vowels from str. If the total vowels in str is < X then print -1.
Examples:
Input: str = “GeeksForGeeks”, X = 3
Output: eeo
‘e’, ‘e’ and ‘o’ are the first three vowels in the given string.Input: str = “softcopy”, X = 5
Output: -1
The total vowel count is 2 i.e ‘o’ and ‘o’
Approach: Traverse the string character by character and check if the current character is a vowel. If the current character is a vowel, then concatenate it to the resultant string, result. If at any point the length of the resultant string becomes X then print the string result else print -1 in the end.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to check if a character is vowel bool isVowel( char c) { c = tolower (c); if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ) return true ; return false ; } // Function to return first X vowels string firstXvowels(string s, int x) { // String to store first X vowels string result = "" ; for ( int i = 0; i < s.length(); i++) { // If s[i] is a vowel then // append it to the result if (isVowel(s[i])) result += s[i]; // If the desired length is reached if (result.length() == x) { return result; } } // If total vowels are < X return "-1" ; } // Driver code int main() { string str = "GeeksForGeeks" ; int x = 3; cout << firstXvowels(str, x); return 0; } |
Java
// Java implementation of the approach public class GFG{ // Function to check if a character is 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 to return first X vowels static String firstXvowels(String s, int x) { // String to store first X vowels String result = "" ; for ( int i = 0 ; i < s.length(); i++) { // If s[i] is a vowel then // append it to the result if (isVowel(s.charAt(i))) result += s.charAt(i); // If the desired length is reached if (result.length() == x) { return result; } } // If total vowels are < X return "-1" ; } // Driver code public static void main(String []args) { String str = "GeeksForGeeks" ; int x = 3 ; System.out.println(firstXvowels(str, x)) ; } // This code is contributed by Ryuga } |
Python3
# Python 3 implementation of the approach # Function to check if a character is 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 to return first X vowels def firstXvowels(s, x): # String to store first X vowels result = "" for i in range ( 0 , len (s), 1 ): # If s[i] is a vowel then # append it to the result if (isVowel(s[i])): result + = s[i] # If the desired length is reached if ( len (result) = = x): return result # If total vowels are < X return "-1" # Driver code if __name__ = = '__main__' : str = "GeeksForGeeks" x = 3 print (firstXvowels( str , x)) # This code is implemented by # Surendra_Gangwar |
C#
// C# implementation of the approach using System; class GFG { // Function to check if a // character is vowel static bool isVowel( char c) { c = Char.ToLower(c) ; if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ) return true ; return false ; } // Function to return first X vowels static string firstXvowels( string s, int x) { // String to store first X vowels string result = "" ; for ( int i = 0; i < s.Length; i++) { // If s[i] is a vowel then // append it to the result if (isVowel(s[i])) result += s[i]; // If the desired length is reached if (result.Length == x) { return result; } } // If total vowels are < X return "-1" ; } // Driver code public static void Main() { string str = "GeeksForGeeks" ; int x = 3; Console.WriteLine(firstXvowels(str, x)) ; } } // This code is contributed // by Akanksha Rai |
PHP
<?php // PHP implementation of the approach // Function to check if a character is vowel function isVowel( $c ) { $c = strtolower ( $c ); if ( $c == 'a' || $c == 'e' || $c == 'i' || $c == 'o' || $c == 'u' ) return true; return false; } // Function to return first X vowels function firstXvowels( $s , $x ) { // String to store first X vowels $result = "" ; for ( $i = 0; $i < strlen ( $s ); $i ++) { // If s[i] is a vowel then // append it to the result if (isVowel( $s [ $i ])) $result .= $s [ $i ]; // If the desired length is reached if ( strlen ( $result ) == $x ) { return $result ; } } // If total vowels are < X return "-1" ; } // Driver code $str = "GeeksForGeeks" ; $x = 3; echo firstXvowels( $str , $x ); // This code is contributed // by princiraj1992 ?> |
Javascript
<script> // Javascript implementation of the approach // Function to check if a character is vowel function isVowel(c) { c = (c.toLowerCase()); if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ) return true ; return false ; } // Function to return first X vowels function firstXvowels(s, x) { // String to store first X vowels var result = "" ; for ( var i = 0; i < s.length; i++) { // If s[i] is a vowel then // append it to the result if (isVowel(s[i])) result += s[i]; // If the desired length is reached if (result.length == x) { return result; } } // If total vowels are < X return "-1" ; } // Driver code var str = "GeeksForGeeks" ; var x = 3; document.write( firstXvowels(str, x)); </script> |
eeo
Complexity Analysis:
- Time Complexity: O(n) Here, n is the length of the string.
- Auxiliary Space: O(x) Where x is the no of vowels in the string
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!