Problem 920. Eliminate Polysyllabics: Long live short words!
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
-
2 Comments
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...
Solution Comments
Show commentsProblem Recent Solvers113
Suggested Problems
-
Swap the first and last columns
20316 Solvers
-
What is the distance from point P(x,y) to the line Ax + By + C = 0?
370 Solvers
-
Vectorize the digits of an Integer
317 Solvers
-
How many trades represent all the profit?
599 Solvers
-
Create logical matrix with a specific row and column sums
301 Solvers
More from this Author50
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!