Statistics

Problem Statement for "NiceOrUgly"

Problem Statement

A string is called ugly if it has 3 vowels in a row, or 5 consonants in a row, or both. A string is called nice if it is not ugly. You are given a string s, consisting of uppercase letters ('A'-'Z') and question marks ('?'). Return "UGLY" if the string is definitely ugly (that means you cannot substitute letters for question marks so that the string becomes nice), "NICE" if the string is definitely nice, and "42" if it can be either ugly or nice (quotes for clarity only).

Definition

Class:
NiceOrUgly
Method:
describe
Parameters:
String
Returns:
String
Method signature:
String describe(String s)
(be sure your method is public)

Notes

  • The letters 'A', 'E', 'I', 'O', 'U' are vowels, and all others are consonants.

Constraints

  • s will contain between 1 and 50 characters, inclusive.
  • Each character in s will be either '?', or an uppercase letter ('A'-'Z').

Examples

  1. "HELLOWORLD"

    Returns: "NICE"

  2. "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    Returns: "UGLY"

    Apparently the English alphabet has 5 consonants in a row.

  3. "HELLOW?RLD"

    Returns: "42"

    "HELLOWORLD" is nice, "HELLOWZRLD" is ugly.

  4. "H??LOWOR??"

    Returns: "NICE"

    You just can't make it ugly.

  5. "EE?FFFF"

    Returns: "UGLY"

    Whatever you put there, it becomes ugly.

  6. "?"

    Returns: "NICE"

  7. "??"

    Returns: "NICE"

  8. "???"

    Returns: "42"

  9. "????"

    Returns: "42"

  10. "?????"

    Returns: "42"

  11. "??????"

    Returns: "42"

  12. "IE?LPS?E?QCL?I?VRV?A?MPD?I?BHR?O?SFJ?E?MFG?I?CHYW"

    Returns: "UGLY"

  13. "EI?RQQ?A?WWQ?I?QRQ?A?QRQ?I?WQR?A?RWR?E?WQR?E?QRR"

    Returns: "42"

  14. "O?ZPB?I?FXR?I?QCL?E?NHJ?O?MQM?O?MWX?E?CYY?A?GCGL"

    Returns: "42"

  15. "AA?QQQ?A?QQQ?A?QQQ?A??QQQ?A?QQQ?A?QQQ?A?QQQ?A?QQQQ"

    Returns: "42"

  16. "IU?QQQ?E?QQQ?O?QQQ?AI??QQQ?U?QQQ?O?QQQ?I?QQQQ"

    Returns: "UGLY"

  17. "AA?ZPC?A?LSQ?A?RQG?A??YHQT??A?CCL?A?HLG?A?FFTW"

    Returns: "42"

  18. "IO?TJH?O?XWL?U?JDT?A???MRBC??O?GWY?E??WKLJ?U?JBRK"

    Returns: "UGLY"

  19. "UU?ZRG?A?MJY?I?CLY?A?J?J?E?ZSZ?A?SMB?U?DFT?A?NQBF"

    Returns: "42"

  20. "EA??TRGF??AA??FTQT??IA??GGTD??IE??GPDR??EI??QYSG"

    Returns: "42"

  21. "AI??FRQP??IE??SFRQ??OI?SYTT??OA??PPPG??EA??SPPY"

    Returns: "UGLY"

  22. "AI??VQNY??OO??BVWN??EE??XNZG?AO??ZFSR??IO??SCBL"

    Returns: "UGLY"

  23. "EU??LXKTHS??A?TQV?U?DKT?O?QSL?I?FKJ?A?JKH?I?FSHM"

    Returns: "UGLY"

  24. "OE??NDJC??I?SZP?EAIAU?QKW?E?PMT?U?JNC?A?NGF?U?DFFG"

    Returns: "UGLY"

  25. "??????????????????????????????????????????????????"

    Returns: "42"

  26. "?????????????????????UAU??????????????????????????"

    Returns: "UGLY"

  27. "?????????????????????AA?FVH?UE????????????????????"

    Returns: "UGLY"

  28. "???FZX???????????????????????????????????EU???????"

    Returns: "42"

  29. "?????SGCFN???????????ERI??????????????????????????"

    Returns: "UGLY"

  30. "?????????????????????ME?JQY?IE????????????????????"

    Returns: "42"

  31. "???QQQQ?A?QQQ?A?QQQQ?A?QQQ?A?QQQQ?A?QQQ?A?QQQQA?AA"

    Returns: "UGLY"

  32. "T?A?QTWY?A?TT?A?TSWS?A?RF?A?YPGS?A?WS?A?PWGR"

    Returns: "42"

  33. "A?Q?QQQQ?O?QQQ??A?QQQQ?E?QQQ??QQQQ?A?QQQ??I?QQQQ"

    Returns: "42"

  34. "??W???I?QQQ?E?QWR?A?WQRQ?E?RQQ??RQQW?I?QQW?A?RWQ"

    Returns: "42"

  35. "??R?OT??HU?L?IS??ZO?G?UW??WE?C?UN??FO?K?OV??NO?P??"

    Returns: "NICE"

  36. "??J?ID??QA?Z?OF??KI?D?ES???OKM?EH??ZI?R?UB??HE?J??"

    Returns: "42"

  37. "??Q?AQ??QA?Q?AQ???QA?QAQ??QA?Q?AQ??QA?Q?AQ??QA?Q??"

    Returns: "42"

  38. "?IJ?EM??NEBG?AS?ESA?NTAX?KIENW?EWEEYK?WIIRF?SA?WC?"

    Returns: "NICE"

  39. "OQUQIQIQEQAQOQEQAQUQIQIQUQIQEQAQAQIQOQAQAQUQIQOQOQ"

    Returns: "NICE"

  40. "QEVUPAQIYATEKOCAPAVAFOSUXAXAPILAFUSAFUWOKACENINUXE"

    Returns: "NICE"

  41. "RAJAFAVUXEPUTAGOFIKDDP?IITZIPONOXEXOXEXIPAREWIHEYU"

    Returns: "UGLY"

  42. "APYYWWTIYAI?TYEPTRQQU?EUAWYEOTE"

    Returns: "UGLY"

  43. "?S???P??PDP?????A????????A?F?G???A???F?"

    Returns: "42"

  44. "I??R?E?R?EIA"

    Returns: "UGLY"

  45. "?Q?WG?WY???RWO??SAIDG??WQIGD???PTPA???A?"

    Returns: "42"

  46. "?EJXC"

    Returns: "NICE"

  47. "GXAIAEIESEAXTAXJHC"

    Returns: "UGLY"

  48. "?LLKYXRW?LZDRSDQS"

    Returns: "UGLY"

  49. "WQWWQ???AA???R?TA?"

    Returns: "UGLY"

  50. "YHEO?I??A?XE??SE????WXAIAR??????????AA?????A????I"

    Returns: "UGLY"

  51. "QQQQQQQQQQQQQQ?QQQQA?QQQQEQQQQQQQQQQQQAQEQ?Q?QAQQ"

    Returns: "UGLY"

  52. "EEEIEAEIIWAIITQYQPPAAAEAIYDQEIIETAAY"

    Returns: "UGLY"

  53. "???E?VG?AORI?E?NIA?"

    Returns: "42"

  54. "?YR??????????QT?Q?WT?YQRW??IQ??TQR?QRRR?"

    Returns: "42"

  55. "W?AAFA?EDHSTQWEEEAEEAAEA?AEE"

    Returns: "UGLY"

  56. "ES?S?G?QP?QFGW???W?OFW?RTD?R?S?DRFD"

    Returns: "42"

  57. "P?QFGW???W?A?Q?AQ???QA?QAQ??QA?Q?AQ??QA"

    Returns: "42"

  58. "?E?QCL?I?VRV?A?MPD?I?B?E?QWR?A?WQRQ?E?RQQ??RQQW?I"

    Returns: "42"

  59. "???"

    Returns: "42"

  60. "YDQEIIE????"

    Returns: "UGLY"

  61. "QQQQQQQQQQQQQQ?QQQQA?QQQQEQQQQQQQQQQ??????????????"

    Returns: "UGLY"

  62. "OA??PPPG??EAA"

    Returns: "UGLY"

  63. "EO?I??A?XE??SE????WXAIAR???E?R?E"

    Returns: "UGLY"

  64. "?U?JDT?A???MRBC??O?GWY?E??W????????"

    Returns: "42"

  65. "??FTQT??IA??GGT?EDHSTQWEEEA"

    Returns: "UGLY"

  66. "?E??WKLJ?TQT??I"

    Returns: "42"

  67. "AI??VQQQQQQQQQQ?QQQQA?QQQQEQQQQQQQQQQQQAQEQ?Q"

    Returns: "UGLY"

  68. "??????????QT?Q?WT?YQRW??IQ??TQR?QRR???"

    Returns: "42"

  69. "??W??????????????????????????EU???????"

    Returns: "42"

  70. "?????????????????ME?JQY?IE??????????"

    Returns: "42"

  71. "??E?VG?AORI?QQQQQQQQQQ?QQQQA?QQQQEQ"

    Returns: "UGLY"

  72. "?WQIGD???PA?XE??SE????WXAIAR??????????AA?????"

    Returns: "UGLY"

  73. "Q?E?QWR?A?WQRQ?E?RQQ??RQQW?I?QQW?A?XE??SE?"

    Returns: "42"

  74. "?????????????ME?JQY?IE??VWN??EE??XNZG?AO?"

    Returns: "UGLY"

  75. "XAIAR??????????AA?????A??Q?WG?WY???RWO"

    Returns: "UGLY"

  76. "EEIEAEIIWAIITQYQPPAAAEAIYDDQEIIE"

    Returns: "UGLY"

  77. "Q?AQ??QA?Q?AQ???QA?QAQ??QA?Q?AQ??Q?"

    Returns: "42"

  78. "??FTQT??IA??GGT?EDGF??AA??FTQT??IA??GGTD"

    Returns: "42"

  79. "SDQSA???"

    Returns: "42"

  80. "IESEAXTTQT??IA??GGT?EDGF??AA??F"

    Returns: "UGLY"

  81. "WXAIAR?????A?XE??SE????WXAIAR??????????AA?????A???"

    Returns: "UGLY"

  82. "??"

    Returns: "NICE"

  83. "QQQQQQQ?QQQ?L?IS??ZO?G?UW??WE?C?UN??FO?K"

    Returns: "UGLY"

  84. "???????ME?JQY?IEQQQ??QQQQ?A?QQQ??I?QQQQ"

    Returns: "42"

  85. "ZIPONQ?A?QQQ?A?QQQQA?AA"

    Returns: "42"

  86. "S???P??PDP???XE??SE????WXAIA"

    Returns: "UGLY"

  87. "A"

    Returns: "NICE"

  88. "B"

    Returns: "NICE"

  89. "??????AAAAA"

    Returns: "UGLY"

  90. "?A?B?A?B?A?B?A?B"

    Returns: "42"

  91. "?"

    Returns: "NICE"

  92. "??????????????????????????????????????????????????"

    Returns: "42"

  93. "A??"

    Returns: "42"

  94. "EE?FFF?EE"

    Returns: "UGLY"

  95. "??????????AA?BBBB"

    Returns: "UGLY"

  96. "Z?I"

    Returns: "NICE"

  97. "?DNLLIV?AZ?QNB?TMXROCNU?YNYS???SWDB??PZIQ??W?"

    Returns: "42"

  98. "AA??A?ZZ"

    Returns: "42"

  99. "AA???ZZZAA???ZZZ"

    Returns: "42"

  100. "AA?BBB"

    Returns: "42"

  101. "AA??CCCC"

    Returns: "42"

  102. "AA?BBB?AA"

    Returns: "UGLY"

  103. "?AA"

    Returns: "42"

  104. "A??TLMB??B??A??B??A??B??A??B??A??B??A??B??A??B??A?"

    Returns: "42"

  105. "AA?????AAGGGG?????????AA?????????????AA?GGGGA"

    Returns: "UGLY"

  106. "C???????????????????????????????????????????????A"

    Returns: "42"

  107. "AA?BBBABBB?AA"

    Returns: "42"

  108. "?????"

    Returns: "42"

  109. "AA?BBB?"

    Returns: "42"

  110. "??????"

    Returns: "42"

  111. "E??FFFF"

    Returns: "42"

  112. "AAYAA"

    Returns: "NICE"

  113. "AA??LMNN"

    Returns: "42"

  114. "A?BBBB?A"

    Returns: "42"

  115. "???????????????????????????????????????????????AAA"

    Returns: "UGLY"

  116. "XBKT?A?VGTR"

    Returns: "UGLY"

  117. "EZ?FFFFAA?"

    Returns: "42"

  118. "?BBB?AA"

    Returns: "42"

  119. "???????"

    Returns: "42"

  120. "AEY"

    Returns: "NICE"

  121. "A?B?CA?B?CA?B?CA?B?CA?B?CA?B?CA?B?CA?B?CA?B?CA?B"

    Returns: "NICE"

  122. "AA?BBB?A?BBB?A?BBB?A?BBB?A?BBB?A?BBB?A?BBB?A?BBBB"

    Returns: "UGLY"

  123. "???????????A"

    Returns: "42"

  124. "AA?BBB?A?BBB?AA"

    Returns: "UGLY"

  125. "BBBB?A?BBB?AA"

    Returns: "UGLY"

  126. "AA?BCD?E?XYX?I?FFF?OE"

    Returns: "UGLY"

  127. "?????????????????AA?BBB?AA??????????"

    Returns: "UGLY"

  128. "AAA"

    Returns: "UGLY"

  129. "EE?FF?EFFF"

    Returns: "42"

  130. "EE?FF??EFFF"

    Returns: "42"

  131. "B?B?B"

    Returns: "42"

  132. "EE?FFF?E?FFF?EE"

    Returns: "UGLY"

  133. "EE???FFFF"

    Returns: "42"

  134. "ABABABABAB"

    Returns: "NICE"

  135. "???KKKK"

    Returns: "42"

  136. "???"

    Returns: "42"

  137. "?AABBBB?"

    Returns: "42"

  138. "????"

    Returns: "42"

  139. "??????????"

    Returns: "42"

  140. "EE?FFF?"

    Returns: "42"

  141. "???????????????????????????????????????????????"

    Returns: "42"

  142. "????????????????????????????????????????"

    Returns: "42"

  143. "BBBB?A?BBBB"

    Returns: "UGLY"

  144. "AA?BBABBBB?"

    Returns: "42"

  145. "AAAAA???"

    Returns: "UGLY"

  146. "AA?BBB?A?BBB?A?BBB?AA"

    Returns: "UGLY"

  147. "?A?BBBB?A?BBBB"

    Returns: "UGLY"

  148. "????????????????????"

    Returns: "42"

  149. "AA?A"

    Returns: "42"

  150. "E?EFFEEFFEE"

    Returns: "42"

  151. "?????????????????????????????????????"

    Returns: "42"

  152. "?????????????????????????????????????????????????"

    Returns: "42"

  153. "HELLOW?RLD"

    Returns: "42"

  154. "A???BBB"

    Returns: "42"

  155. "????????????????????????????????????????????????"

    Returns: "42"

  156. "?B?BB"

    Returns: "42"

  157. "??X??X??X??X??X??X??X??X??X??X??X??X??X??X"

    Returns: "42"

  158. "NNNN?A?NNNN"

    Returns: "UGLY"

  159. "?FFFFAA"

    Returns: "42"

  160. "ZZZZ?A?"

    Returns: "42"

  161. "??L??"

    Returns: "42"

  162. "AA?BABABBBB?ABB"

    Returns: "42"

  163. "?????????????????????????????????????????????AAAAA"

    Returns: "UGLY"

  164. "EE?FFF?E?FFF?E?FFFF"

    Returns: "UGLY"

  165. "Z??Z??Z??Z??Z??Z??Z??Z??Z??Z??Z??Z??Z??Z??Z??Z??Z?"

    Returns: "42"

  166. "A???????????????Z???????????Y????????????????????B"

    Returns: "42"

  167. "????????????????????????????????????AE?A?BRT?AE"

    Returns: "42"

  168. "FFFF?E?FFF?E?FFFF"

    Returns: "UGLY"

  169. "AA?TTT?AA"

    Returns: "UGLY"

  170. "??????????????????????????????????????????????"

    Returns: "42"

  171. "H??LOWOR??"

    Returns: "NICE"

  172. "??R??R????T???Y??R??Y??E???Y??E??T???R??E?TTTTT"

    Returns: "UGLY"

  173. "EE?WWEWWWW?"

    Returns: "42"

  174. "??????PQ?????????QWER????AA?XXX?AA?XXXXAMB???????"

    Returns: "UGLY"

  175. "ABCE?ABCE?ABCE?ABCE?ABCE?ABCE?ABCE?ABCE?ABCE?ABCE?"

    Returns: "42"

  176. "A??Z??A??Z??A??Z??A??Z??A??Z??A??Z??A??Z??A??Z??"

    Returns: "42"

  177. "BA?ABA?ABCAB?BBBABB?BB"

    Returns: "42"

  178. "?CCCC?U?CCCC?"

    Returns: "UGLY"

  179. "CCCC?U?CCCC"

    Returns: "UGLY"

  180. "AA?BBB?A?BBBB"

    Returns: "UGLY"

  181. "????????D??????????????????A???????????O"

    Returns: "42"

  182. "AAAAAAAQQ"

    Returns: "UGLY"

  183. "EE??FFFF"

    Returns: "42"

  184. "????????????????????????????????????????????"

    Returns: "42"

  185. "?????FRHUQ???U?????M??TLZ?T??LEBJYYH??EF??X??YI?Z?"

    Returns: "UGLY"

  186. "ULCXIU????W?????RZ?I?"

    Returns: "42"

  187. "TF?WGLS?T?O?WTT?XFV??B?HEE?Z?G?Q?A????G?FYM?Y?"

    Returns: "42"

  188. "EADDA"

    Returns: "NICE"

  189. "A??BBB"

    Returns: "42"

  190. "FFFF?EE"

    Returns: "UGLY"

  191. "AA???BBBB"

    Returns: "42"

  192. "?EE?FFF?EE"

    Returns: "UGLY"

  193. "ABHDYUE??IDAOSD?A???SDSDSDISEESIDAS?EDIUS"

    Returns: "UGLY"

  194. "?BBB?"

    Returns: "42"

  195. "FFFF??UU"

    Returns: "42"

  196. "???AAAAAAAA"

    Returns: "UGLY"

  197. "?A?V?D?E?E?V?J"

    Returns: "42"

  198. "YYY"

    Returns: "NICE"

  199. "????????????????????????????AAAA"

    Returns: "UGLY"

  200. "AA"

    Returns: "NICE"

  201. "????????????????"

    Returns: "42"

  202. "GGGG?"

    Returns: "42"

  203. "AO?BAO"

    Returns: "42"

  204. "????A????B????A????B????A????C????D????A????E????R"

    Returns: "42"

  205. "ADFEIDFC???DF??YCUA??B??DYCUA??B??"

    Returns: "42"

  206. "AA???CCCC"

    Returns: "42"

  207. "EE?FFF"

    Returns: "42"

  208. "?FFFF"

    Returns: "42"


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: