Statistics

Problem Statement for "SMS"

Problem Statement

Short message service (SMS) has become a fast and quick method for communication. Most service providers place a restriction on the size of messages and hence it is important to write concise messages. Mobile phone users have found methods for compressing their messages such that the content of the messages remains unaltered. One such method is to take the original message and remove all interior vowels from each word. A vowel is interior if there is at least one consonant to the left and right (not necessarily adjacent) of the vowel in the same word.

Given a String originalMessage with words separated by spaces return the compressed version of the message.

Definition

Class:
SMS
Method:
compress
Parameters:
String
Returns:
String
Method signature:
String compress(String originalMessage)
(be sure your method is public)

Notes

  • Vowels are 'a', 'e', 'i', 'o' and 'u' (in both upper and lower cases).

Constraints

  • originalMessage will contain between 0 and 50 characters inclusive.
  • originalMessage will contain only letters ('a'-'z', 'A'-'Z') and spaces.

Examples

  1. "Lets meet tomorrow"

    Returns: "Lts mt tmrrw"

    "Lets" becomes "Lts". "meet" becomes "mt". "tomorrow" becomes "tmrrw".

  2. "Please come to my party"

    Returns: "Plse cme to my prty"

    Note that vowels on the end of words are not compressed.

  3. " I like your style "

    Returns: " I lke yr style "

    Note that 'y' is always considered a consonant in this problem.

  4. "Where are you"

    Returns: "Whre are you"

  5. "short message service"

    Returns: "shrt mssge srvce"

  6. "This senTenCe DoesNt have very Much mEaning at all"

    Returns: "Ths snTnCe DsNt hve vry Mch mnng at all"

  7. "TopCoder is the best"

    Returns: "TpCdr is the bst"

  8. " "

    Returns: " "

    all spaces

  9. "kf tZhhkrL js REm V ITXt ex ittn pf uhNIm HrrZd"

    Returns: "kf tZhhkrL js Rm V ITXt ex ittn pf uhNm HrrZd"

  10. "IUSfSr SCKHWo ltagUyOxW wQQ I d uqbvvrt jyFaSLZa "

    Returns: "IUSfSr SCKHWo ltgyxW wQQ I d uqbvvrt jyFSLZa "

  11. "PXdZfNmYGokgVMR yOVsMmG lDOyr PTEFrx K P WzA uZ "

    Returns: "PXdZfNmYGkgVMR yVsMmG lDyr PTFrx K P WzA uZ "

  12. "AZNaPxpzjzn Vivro CZ hEk bDHy Aly ozbrJ JyOgTDl v"

    Returns: "AZNPxpzjzn Vvro CZ hk bDHy Aly ozbrJ JygTDl v"

  13. " Tri DEE uxhWui GK deb sOV ris SomIwXy UWNAn q"

    Returns: " Tri DEE uxhWui GK db sV rs SmwXy UWNn q"

  14. "KniufMzKRBkXpJPozgquhHHitV Qk zUtc zNRziluDyV "

    Returns: "KnfMzKRBkXpJPzgqhHHtV Qk ztc zNRzlDyV "

  15. "lPNENRASc T KP S qJ i IhYhMCnttYFa dIIeBT jLAPOjL"

    Returns: "lPNNRSc T KP S qJ i IhYhMCnttYFa dBT jLPjL"

  16. "UHrnmdv tvR Lkbp Jo lmF A JXVbwxQPVPy yst zbUg k "

    Returns: "UHrnmdv tvR Lkbp Jo lmF A JXVbwxQPVPy yst zbg k "

  17. " B ePLdpE QLdp Jha XcbMiF vQY AEUogIy PFUN TsLUy"

    Returns: " B ePLdpE QLdp Jha XcbMF vQY AEUogy PFN TsLy"

  18. "VrFvA Gf weAkxVOFGjy J mVVULJCus z I O RizIxdEA xk"

    Returns: "VrFvA Gf wkxVFGjy J mVVLJCs z I O RzxdEA xk"

  19. "ZaaaaaaaAaAAaaAAAaaaAAAaaaaaaaaAaAaAAaaAaaaAAaaAaZ"

    Returns: "ZZ"

    48 a's. Lots of compression.

  20. "aaaaaaaaAaAAaaAAAaaaAAAaaaaaaaaAaAaAAaaAaaaAAaaAaa"

    Returns: "aaaaaaaaAaAAaaAAAaaaAAAaaaaaaaaAaAaAAaaAaaaAAaaAaa"

    no consonants -> no compression

  21. "FT fA AcXM aAv OpeCTyoQITCFu b OQaCrOfW d ueuh "

    Returns: "FT fA AcXM aAv OpCTyQTCFu b OQCrfW d ueuh "

  22. " JUSovqbdyQIIFmygkHMeuOZlVlgYjRUpx WlpKKTuVmyjW Yt"

    Returns: " JSvqbdyQFmygkHMZlVlgYjRpx WlpKKTVmyjW Yt"

  23. "hlwz xRVKRVO R uJW SyoWRgjikMTB ddCS EKnXMfXUJFido"

    Returns: "hlwz xRVKRVO R uJW SyWRgjkMTB ddCS EKnXMfXJFdo"

  24. ""

    Returns: ""

  25. " "

    Returns: " "

  26. "a"

    Returns: "a"

  27. "eeenon"

    Returns: "eeenn"

  28. "PleDEase AE ao come to my party"

    Returns: "PlDse AE ao cme to my prty"

  29. "Leee prithvi aaaa iota aeeet"

    Returns: "Leee prthvi aaaa iota aeeet"

  30. " I a like and aa ay Aa AY aiaia huh hUh uhu I me"

    Returns: " I a lke and aa ay Aa AY aiaia hh hh uhu I me"

  31. "AEIOUaeiouqaeiouAEIOUqaeiouAEIOU"

    Returns: "AEIOUaeiouqqaeiouAEIOU"

  32. " AA AaAaA ARE ARENOT AEBAEABUuUCYaa"

    Returns: " AA AaAaA ARE ARNT AEBBCYaa"

  33. "hIb"

    Returns: "hb"

  34. "Vv A ug nMI pQbg UUS "

    Returns: "Vv A ug nMI pQbg UUS "

  35. "lete"

    Returns: "lte"

  36. "pee on me"

    Returns: "pee on me"

  37. " AAABBBEEEFFiiigggooo aaa AAA bbb b a ba ab bab "

    Returns: " AAABBBFFgggooo aaa AAA bbb b a ba ab bb "

  38. "aaron sux bee pussy"

    Returns: "aarn sx bee pssy"

  39. " I aike your style "

    Returns: " I aike yr style "

  40. "aaabaaa bbaaaabb abab"

    Returns: "aaabaaa bbbb abb"

  41. " a a a aaaa aaa aaa aaa"

    Returns: " a a a aaaa aaa aaa aaa"

  42. "aaaaaaaaaaaaaaaaa"

    Returns: "aaaaaaaaaaaaaaaaa"

  43. ""

    Returns: ""

  44. " CHECK Check "

    Returns: " CHCK Chck "

  45. " OnkO RUttkaaAyY je dooObry aAaaAa "

    Returns: " OnkO RttkyY je dbry aAaaAa "

  46. " I IXI LikEKee Youuu "

    Returns: " I IXI LkKee Youuu "

  47. " I like your style "

    Returns: " I lke yr style "

  48. "bad"

    Returns: "bd"

  49. "geee"

    Returns: "geee"

  50. "EeE"

    Returns: "EeE"

  51. " I like your style aeiou"

    Returns: " I lke yr style aeiou"

  52. " aeiou aAEOIu"

    Returns: " aeiou aAEOIu"

  53. "lets aba"

    Returns: "lts aba"

  54. " aAeEiIoOuUYaAeTEiIoOuUyaAeEiIoOuU k ooott ee "

    Returns: " aAeEiIoOuUYTyaAeEiIoOuU k ooott ee "

  55. "Employee got an ouchy"

    Returns: "Emplyee gt an ouchy"

  56. " I like yYUvg yUUInnm Unb nUn"

    Returns: " I lke yYvg ynnm Unb nn"

  57. "teest AaaA end"

    Returns: "tst AaaA end"

  58. "Leee prithvi aaaa iota aeeet aeiouz"

    Returns: "Leee prthvi aaaa iota aeeet aeiouz"

  59. " In your life "

    Returns: " In yr lfe "

  60. "bbaa cd"

    Returns: "bbaa cd"

  61. "sAd"

    Returns: "sd"

  62. "oott"

    Returns: "oott"

  63. "exe"

    Returns: "exe"

  64. " In your life "

    Returns: " In yr lfe "

  65. " aeittee asfse ere er aa"

    Returns: " aeittee asfse ere er aa"

  66. "Free Food OOOH"

    Returns: "Free Fd OOOH"

  67. " a b de "

    Returns: " a b de "

  68. "bEb"

    Returns: "bb"

  69. "Allo toi"

    Returns: "Allo toi"

  70. " Like eee you ache "

    Returns: " Lke eee you ache "

  71. "akEEEwl"

    Returns: "akwl"

  72. "eerie neem tree"

    Returns: "eerie nm tree"

  73. "AAAAAAA"

    Returns: "AAAAAAA"

  74. "baaaaaaaaaaaaaaaa"

    Returns: "baaaaaaaaaaaaaaaa"

  75. "aaaa"

    Returns: "aaaa"

  76. "wee"

    Returns: "wee"

  77. "GEEED"

    Returns: "GD"

  78. " BAAAB "

    Returns: " BB "

  79. " youiptrtuoiuuoi oioiuttiouoiu "

    Returns: " yptrtuoiuuoi oioiuttiouoiu "

  80. "HELLO"

    Returns: "HLLO"

  81. " Lets meet "

    Returns: " Lts mt "

  82. "blah too blah"

    Returns: "blh too blh"

  83. "ba"

    Returns: "ba"

  84. "Een aep polish sausage"

    Returns: "Een aep plsh ssge"

  85. "ca"

    Returns: "ca"

  86. "hAj"

    Returns: "hj"

  87. "baa"

    Returns: "baa"

  88. " aeiou "

    Returns: " aeiou "

  89. "Lets meet tomorrow and eat"

    Returns: "Lts mt tmrrw and eat"

  90. "LEts mEEt tOOmorrow"

    Returns: "Lts mt tmrrw"

  91. "zaa"

    Returns: "zaa"

  92. "sm And I there"

    Returns: "sm And I thre"

  93. "Aeon Flux"

    Returns: "Aeon Flx"

  94. "beae"

    Returns: "beae"

  95. "eyeyeyeyeyeeeyeeee"

    Returns: "eyyyyyyeeee"

  96. " I elike your style"

    Returns: " I elke yr style"

  97. "aaa AAA abcdefgh AbCDEf g aaa aaaaaa abcdefgh"

    Returns: "aaa AAA abcdfgh AbCDf g aaa aaaaaa abcdfgh"

  98. " aaasaaa aaadaaasa "

    Returns: " aaasaaa aaadsa "

  99. " I like your eeestyle "

    Returns: " I lke yr eeestyle "

  100. "aaa aaa bb c daasa"

    Returns: "aaa aaa bb c dsa"

  101. "In our life "

    Returns: "In our lfe "

  102. "ci"

    Returns: "ci"

  103. "abbbbaaa aadsfg bbbb b f"

    Returns: "abbbbaaa aadsfg bbbb b f"

  104. "fEy"

    Returns: "fy"

  105. "Plea wee ree noo hee"

    Returns: "Plea wee ree noo hee"

  106. "Please come to my party"

    Returns: "Plse cme to my prty"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: