The vowel substrings in the word codewarriors are o,e,a,io. The longest of these has a length of 2. Given a lowercase string that has alphabetic characters only and no spaces, return the length of the longest vowel substring. Vowels are any of aeiou.
Good luck!
This challenge comes from KenKamau at CodeWars, who has licensed redistribution of this challenge under the 2-Clause BSD License!
Want to propose a challenge idea for a future post? Email yo+challenge@dev.to with your suggestions!
Latest comments (19)
Perl solution, tests included.
This is the Swift version :)
Haskell
I could have done it with a single fold, but I decided to group the characters by groups of vowels and non-vowels, filter out the groups that are not vowels, map the length of each group and pick the largest number.
Also, almost entirely point-free, a pity I couldn't figure out how to make
bothVowelspoint-free.The new JS function
matchAllis going to be really useful.Here's a JS quickie
I like your approach!
Elm
Tests
Here's mine... would have liked to use
String.prototype.matchAll, but my JS engine didn't support it. So used a generator andArray.frominstead. :-)Full Gist: gist.github.com/kerrishotts/a3ec30...
Just noticed that the challenge is to return the length ;-) Oh well --
getLongestVowelSequence("codewarriors").lengthwill do ;-)Edit: It being python, I'm condensing my previous code down into a list comprehension.
Gotta love JavaScript one-liners
In golang! Could be simpler but lots of loops!
Go Playground example original
EDIT:
Add new example with changes from comments
Go Playground example with new switch
EDIT 2:
Realized it would not handle vowels at the end of the string
Go Playground
Hey @peter , you can also use multiple values in a single case statement
github.com/golang/go/wiki/Switch#m...
Hey good to know thanks! Just learning go so didn't realize I could do that. Thanks!
there's also
strings.Countbuilt-in method ;)golang.org/pkg/strings/#Count