Problem · String

Vowel Substring

Learn this problem
MediumSnowflake logoSnowflakeINTERNOA
See Snowflake hiring insights

Problem statement

Given a string of lowercase letters in the range ascii[a-z], determine the number of substrings that can be created where every letter is a vowel and every vowel is present at least once. The vowels are ['a', 'e', 'i', 'o', 'u']. A substring is a contiguous group of characters in the string.

Function

vowelSubstring(s: String) → int

Complete the function vowelSubstring in the editor.

vowelSubstring has the following parameter(s):

  1. 1. string s: a string

Returns

int: the number of substrings that consist of vowels only ('a', 'e', 'i', 'o', 'u') where every vowel appears at least once

🌷ଓ Credit where it's due – A!˶ᵔ ᵕ ᵔ˶ ᯓᡣ𐭩

Examples

Example 1

s = "aaeiouxa"return = 2

There are two qualifying substrings:

s[0:5] = "aaeiou"

s[1:5] = "aeiou"

Example 2

s = "axyzaeiou"return = 1

There is only one qualifying substring:

s[4:8] = "aeiou"

Constraints

  • 1 ≤ size_of(s) ≤ 10^5
  • s[i] ∈ ascii[a-z] (where 0 ≤ i < size_of(s))
  • More Snowflake problems

    drafts saved locally
    public int vowelSubstring(String s) {
      // write your code here
    }
    
    s"aaeiouxa"
    expected2
    checking account