Problem Statement
When a player erases the last letter, the game ends. If the word at the end of the game is lexicographically greater than the word at the beginning, Camomile wins. Otherwise, Romashka wins. You are given a
Definition
- Class:
- SistersErasingLetters
- Method:
- whoWins
- Parameters:
- String
- Returns:
- String
- Method signature:
- String whoWins(String word)
- (be sure your method is public)
Notes
- A string X is defined as smaller than a string Y if and only if X is a prefix of Y or X has a smaller character than Y at the first position where they differ.
Constraints
- word will contain between 1 and 50 characters, inclusive.
- Each character in word will be a lowercase letter ('a'-'z').
Examples
"topcoder"
Returns: "Camomile"
1. Camomile starts by erasing the letter 'c', leaving "topoder". 2. It doesn't matter what Romashka erases on her turn. The possible outcomes of this turn are "topder", "topoer", "topodr" and "topode". In the last outcome, Romashka deletes the last letter and ends the game, but loses. 3. If Romashka doesn't end the game, then Camomile will end it by erasing the last letter. The possible outcomes are "topde", "topoe" and "topod", all of which are lexicographically greater than "topcoder".
"program"
Returns: "Romashka"
Camomile can't win here.
"abcd"
Returns: "Camomile"
Here, Camomile can only win if she starts by erasing the letter 'a'.
"abc"
Returns: "Romashka"
Note that the empty string is lexicographically smaller than any other string.
"easyproblemroundfivetopcoderopentwothousandeleven"
Returns: "Camomile"
"vzwxuvstqropmnklijghefcdab"
Returns: "Camomile"
"wzwxuvstqropmnklijghefcdab"
Returns: "Romashka"
"yzwxuvstqropmnklijghefcdab"
Returns: "Romashka"
"yzazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxz"
Returns: "Camomile"
"abaca"
Returns: "Camomile"
"aabbbb"
Returns: "Camomile"
"aaaa"
Returns: "Romashka"
"aaab"
Returns: "Romashka"
"aaba"
Returns: "Romashka"
"aabb"
Returns: "Romashka"
"aabc"
Returns: "Romashka"
"aacb"
Returns: "Romashka"
"abaa"
Returns: "Romashka"
"abab"
Returns: "Romashka"
"abac"
Returns: "Romashka"
"abba"
Returns: "Camomile"
"abbb"
Returns: "Camomile"
"abbc"
Returns: "Camomile"
"abca"
Returns: "Camomile"
"abcb"
Returns: "Camomile"
"abcc"
Returns: "Camomile"
"acab"
Returns: "Romashka"
"acba"
Returns: "Camomile"
"acbb"
Returns: "Camomile"
"acbc"
Returns: "Camomile"
"accb"
Returns: "Camomile"
"baaa"
Returns: "Romashka"
"baab"
Returns: "Romashka"
"baac"
Returns: "Romashka"
"baba"
Returns: "Romashka"
"babb"
Returns: "Romashka"
"babc"
Returns: "Romashka"
"baca"
Returns: "Romashka"
"bacb"
Returns: "Romashka"
"bacc"
Returns: "Romashka"
"bbaa"
Returns: "Romashka"
"bbab"
Returns: "Romashka"
"bbac"
Returns: "Romashka"
"bbba"
Returns: "Romashka"
"bbca"
Returns: "Romashka"
"bcaa"
Returns: "Romashka"
"bcab"
Returns: "Romashka"
"bcac"
Returns: "Romashka"
"bcba"
Returns: "Romashka"
"bcca"
Returns: "Camomile"
"caab"
Returns: "Romashka"
"caba"
Returns: "Romashka"
"cabb"
Returns: "Romashka"
"cabc"
Returns: "Romashka"
"cacb"
Returns: "Romashka"
"cbaa"
Returns: "Romashka"
"cbab"
Returns: "Romashka"
"cbac"
Returns: "Romashka"
"cbba"
Returns: "Romashka"
"cbca"
Returns: "Romashka"
"ccab"
Returns: "Romashka"
"ccba"
Returns: "Romashka"
"ccbbcbaabc"
Returns: "Romashka"
"ccbabcbcaa"
Returns: "Camomile"
"aacabbaccc"
Returns: "Camomile"
"cacaabcbba"
Returns: "Camomile"
"cacaacabcb"
Returns: "Camomile"
"ccbaabcabb"
Returns: "Camomile"
"bccaabbcbb"
Returns: "Camomile"
"cacabcaaac"
Returns: "Camomile"
"acabacbccb"
Returns: "Camomile"
"aacbcbcaac"
Returns: "Camomile"
"qpqonymyjxhuhpdbpank"
Returns: "Romashka"
"zswsljjrjrjhyhlfwaxo"
Returns: "Romashka"
"wuvqvnhsfeetcncccycl"
Returns: "Romashka"
"wruoronmjnfufeejecqi"
Returns: "Romashka"
"txmnlwiyhfheweudbybe"
Returns: "Romashka"
"wrpzponnvmoiflcucbmj"
Returns: "Romashka"
"wsxsxsszjwipfeseckak"
Returns: "Romashka"
"tttlkkyjzdkdcucclbil"
Returns: "Romashka"
"tyrrqnqnlxlqjjimibvx"
Returns: "Romashka"
"vsqqqpsookkrkhdazauz"
Returns: "Romashka"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"
Returns: "Romashka"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaba"
Returns: "Romashka"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaa"
Returns: "Romashka"
"phqgheayasadabaaoadacacabaaoanajaatacacababaamamaj"
Returns: "Romashka"
"frbjbaraiabaamababaayacaafadaaeaeacababaaraoacaaea"
Returns: "Romashka"
"auakajahacacacabaauaayafabaahadababaaeaatahagaarar"
Returns: "Romashka"
"zrosdqcjcdaayalaeadacaauaababaaiaeadaababababaauan"
Returns: "Romashka"
"namacacacabababaatamajacabaafaamalababaakaeaayamaf"
Returns: "Romashka"
"dfcvazaqanakafabaahahahagagagagaataalaadaahahaeaba"
Returns: "Romashka"
"nhrbdauapaiahahahagagabababaafaanagababaakakagafac"
Returns: "Romashka"
"kqaxamaeadabaaxaiaazafaasagacabaaxagafaaaiadadacaa"
Returns: "Romashka"
"mnfhfgeoefbhapahabababaadadaagaeacaatatajafafabaau"
Returns: "Romashka"
"dvaamafadaacababaapagaaoajaeaeaeaaiaeaeabaamahahah"
Returns: "Romashka"
"glvwxkyvulcyjeflloqzhltmgtujdcuugnrotlotcpbnyfheje"
Returns: "Camomile"
"gcmfptqmveghmfbmvklsqfubvxctepvmljohzxxoolnvlayguo"
Returns: "Camomile"
"kqdauptyvjafzzkqtaxjlrbrukkkigjmxqrbazlpdevpezpbws"
Returns: "Camomile"
"hvpckldqgivlqpirqvwqquyxpixqireuqamffsvvntguxesidr"
Returns: "Camomile"
"nwwtqkdozfpkduulifzdpohcgubkurehrqbbxajefbfhkzbpka"
Returns: "Camomile"
"pbszyspdaaoxraojotjufsturtjhudpetsgrzuigusnwlyrvfn"
Returns: "Camomile"
"kkmsdbuhvhfqtdvtnlewfquuhtainkebbvzhtqbkdbmvhbsnjb"
Returns: "Camomile"
"tvjtqnbchiwfuqlzsmxvfjtvquitivyhzpxcdjwikfatcanchx"
Returns: "Camomile"
"ssjluhlyoebcgnsqfzxxwgliuejobcfpvnyrrpkegeqpvlhxee"
Returns: "Camomile"
"ocmerjmziudtsqqozvejnrtibvnjepfqdsmvstmmwwwqknnrmq"
Returns: "Camomile"
"cdccdacade"
Returns: "Camomile"
"ab"
Returns: "Romashka"
"bcbee"
Returns: "Camomile"