Given a string s1, return s2 in which all the words with more than one syllable have been removed.
To make things simple, we will (for the purposes of this problem) define a polysyllabic word as one in which at least two vowel groups are separated by a least one consonant group. Consider vowels to come from the set [aeiouy]. All other letters are considered consonants. There are many exceptions to the rules I have defined here, but I will keep the test suite consistent with these rules.
So these words are polysyllabic:
ANY BUSY POLICEMAN EXPECTS COUNTLESS INTERRUPTIONS
These words are monosyllabic:
STRENGTH IS THE SUM OF ALL WE KNOW TO BE TRUE
Here are some examples of one-syllable words that I WON'T use because they violate my rules:
ONE ICED JUICE PLEASE
After you have removed the offending words, de-dupe the spaces. That is, any remaining words should be separated by exactly one space. There should be no spaces at the beginning or end of the output string s2. Letters may be upper or lower case.
Example:
Input: 'The all day meetings will continue until we learn why productivity is so low'
Output: 'The all day will we learn why is so low'
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers150
Suggested Problems
-
2371 Solvers
-
Who knows the last digit of pi?
689 Solvers
-
MATCH THE STRINGS (2 CHAR) very easy
300 Solvers
-
Find last zero for each column
694 Solvers
-
Find the sides of an isosceles triangle when given its area and height from its base to apex
2140 Solvers
More from this Author54
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
asserts are commented out in the test suite...
Whoops! Thanks for pointing that out. I might've eventually gotten suspicious after seeing absolutely everybody passing...