Problem Statement
A word is a faux palindrome if, after replacing every group of consecutive equal letters with a single instance of the letter, the resulting word is a palindrome. For example, the string "AAAAANNAA" is a faux palindrome. A detailed explanation why this is a faux palindrome is given below in Example 1. Other examples of faux palindromes are the strings "AAAAAAAAAAAAAAAXA and "XYX". Note that every palindrome is also a faux palindrome.
You are given a
- If word is a palindrome, return "PALINDROME" (quotes for clarity, returned values are case sensitive).
- If word is not a palindrome but is a faux palindrome, return "FAUX".
- In case word is not a faux palindrome, return "NOT EVEN FAUX".
Definition
- Class:
- FauxPalindromes
- Method:
- classifyIt
- Parameters:
- String
- Returns:
- String
- Method signature:
- String classifyIt(String word)
- (be sure your method is public)
Constraints
- word will contain between 1 and 50 characters, inclusive.
- The characters in word will be upper case letters between 'A' and 'Z', inclusive (quotes for clarity).
Examples
"ANA"
Returns: "PALINDROME"
"ANA" reads the same from left to right and right to left.
"AAAAANNAA"
Returns: "FAUX"
This is obviously not a palindrome. Now suppose that we replace each group of consecutive equal letters by a single copy of that letter. That is, we change "AAAAA" to "A", "NN" to "N", and "AA" to "A". In this way we will obtain the new string "ANA", which is a palindrome. Hence the original string is a faux palindrome.
"LEGENDARY"
Returns: "NOT EVEN FAUX"
The word "LEGENDARY" already does not contain any group of consecutive equal letters and it is not a palindrome.
"XXXYTYYTTYX"
Returns: "FAUX"
After replacing the groups of consecutive equal letters with a single letter, the string becomes "XYTYTYX". "XYTYTYX" is a palindrome.
"TOPCOODEREDOOCPOT"
Returns: "PALINDROME"
This word contains some groups of consecutive equal letters, but it is already a palindrome without replacing them by single letters.
"TOPCODEREDOOCPOT"
Returns: "FAUX"
"XXXXYYYYYZZXXYYY"
Returns: "NOT EVEN FAUX"
"SSSSSSSSSSSSSSSSSSSSSSSSSSSSSHSSSSSSSSSSSSS"
Returns: "FAUX"
"IIIIIIIIIIIIIIIIIIIIIIIIAAAAAAAIIIIIIII"
Returns: "FAUX"
"UUUUUUUUUUUUUUUUUUUUUUUUUYGGEGYYYUUU"
Returns: "FAUX"
"OOOOOOOOOOHPPPHHHHHHHHHHHOOOOOOO"
Returns: "FAUX"
"KKKKKKKKKKKKKKSSDSSKKKKKKKKKKK"
Returns: "FAUX"
"HHHHHHHHHHHHHHHHHEEPPEEEHHH"
Returns: "FAUX"
"WWWWWWWWWWWCECCCCW"
Returns: "FAUX"
"OOOOEEQQEEEEEEEEOOOOOOOOOO"
Returns: "FAUX"
"VVVVVVV"
Returns: "PALINDROME"
"NNNNNNNNNNNNNNNNNNNNNVVOOLOOVVNNNNNNNNNNNNNNNNNNN"
Returns: "FAUX"
"FFFFFFFFFFFFFFFKKKKFFFFFF"
Returns: "FAUX"
"SSSSSSSSSSSSKKKKKKKKTFTKKKKSSSSSSS"
Returns: "FAUX"
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFQQQQQFFFFFFF"
Returns: "FAUX"
"GGGGGGGGGGGGG"
Returns: "PALINDROME"
"UUUUUUUUUUUUUXXXXGGGGGGGGGGGRGGXXXUUUUUUUUUUUUUU"
Returns: "FAUX"
"KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKFFFFFFFFFFKK"
Returns: "FAUX"
"XXXXXXXXX"
Returns: "PALINDROME"
"QQQQQ"
Returns: "PALINDROME"
"GFFFFGGGGGGGGGGG"
Returns: "FAUX"
"MMMMMMMMMMMMMMMPMMM"
Returns: "FAUX"
"K"
Returns: "PALINDROME"
"FGGGGGGGGGGGGGGGGGGGGUGGGGGGGGGGGGGGGF"
Returns: "FAUX"
"MQIIIQMMMMMMMM"
Returns: "FAUX"
"XXXXXXZZZZZLLLLLZZX"
Returns: "FAUX"
"LLLWWLLLLLLLLLLLL"
Returns: "FAUX"
"GGBBGGGGGGGGG"
Returns: "FAUX"
"IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJII"
Returns: "FAUX"
"LMLLLLLLLLLLLLLLLLLLLLLLLLL"
Returns: "FAUX"
"AAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAA"
Returns: "FAUX"
"PYYAAYYYYYYPP"
Returns: "FAUX"
"SSSSSSSS"
Returns: "PALINDROME"
"UUUUUURURRUUUUUUUUUUUU"
Returns: "FAUX"
"MMMMMMMMMMUUUJUUMMMMMMMMMMMMM"
Returns: "FAUX"
"AAAAAAAAAAAAAAAAAAAAAAAANNAAAAAAAAAAA"
Returns: "FAUX"
"OOOOOFOO"
Returns: "FAUX"
"WWWWWWWWWBBBBCCBWWWWWWW"
Returns: "FAUX"
"KKKKKKKKKKKDKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK"
Returns: "FAUX"
"PPPPPPPPPPPPPPPPYYYYYYYYYYYYDDYYYYYYPPPPPPP"
Returns: "FAUX"
"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRMMMMRRRRRRRRRRRRR"
Returns: "FAUX"
"EEEEXXXXXXXXXXXWWDWWXXXXE"
Returns: "FAUX"
"WCSSBSCWWWWWWWWWWWWWWWWWWWWW"
Returns: "FAUX"
"VVVVVVVVVVVVVVVUUUUUUUUFAFFUUUUUUUUUUVVVVVVVVVVVVV"
Returns: "FAUX"
"EEEEWFFNNYNFWWWWWWWWWEEEEEEEEEEE"
Returns: "FAUX"
"MMMMMMMMMMMMMMMMMMMMMMMMMMHHHHHHHHHHHHHHM"
Returns: "FAUX"
"DDDDDDFDDDDDDDDDDDDDDDDDDD"
Returns: "FAUX"
"AAAAAAAAAAAAAAAAAAAAAASSSSAAAAAAA"
Returns: "FAUX"
"JJJJJJJJJJJJJJ"
Returns: "PALINDROME"
"KKKKKKKKTTTTTTTTTTETKKKKKKKKKKKKKK"
Returns: "FAUX"
"XXCX"
Returns: "FAUX"
"AAAAAAAAAAAAAAAAAAAAAAAAAAIEIAAAAAAAAAAAA"
Returns: "FAUX"
"SSSSSSSSSQQQQPJOOFFMFOJPPPPPQQQQQQQQQSSSSSSS"
Returns: "FAUX"
"ZZZIIIIIIIIIIIIIIIIIIPZDEEEWEEDDZPPPIIIIIIIIZZZ"
Returns: "FAUX"
"OOOOOOOHHHHWKKKKKKKKFFFFTJTFKKKKKKKKKKKKWHHHHO"
Returns: "FAUX"
"IIRRRRRRRDDDDDDDDDSSSSFFQBQFSSDDDDRIIIII"
Returns: "FAUX"
"OOMMMMMMLLLLLLLLFFFFFFFFQUUTUQFFLLLLLMMMMMMMOOOO"
Returns: "FAUX"
"GGGGGGPHHHHHHHHHHHHHHFWWWEEGEWFFHHHHHHHPPPPPPPG"
Returns: "FAUX"
"ZZZZZZZZZAAAAEEEEEEEEEBBJJJLLLOWWOLLJBEAZZZZZZZ"
Returns: "FAUX"
"XXXXXXXXXXXXXXXXXEEEEMMZMBLBMZMMEEEEEXXXXXX"
Returns: "FAUX"
"SSSSIIIXXXXXXXXXXXXFFONTTNNOFFXIIIIIISSSSSS"
Returns: "FAUX"
"KKKKKKKJJJJJJJJJJJJJJPTTDDONOOODDTTTTPPJKKKKKKKKKK"
Returns: "FAUX"
"ELUHHAGKTTAZZATTKGAHHULE"
Returns: "PALINDROME"
"EUKUHVWFWENAMKIHLEELHIKMANEWFWVHUKUE"
Returns: "PALINDROME"
"ZUKDHIBTNUICIUNTBIHDKUZ"
Returns: "PALINDROME"
"UASUGECOOFAJJHIASQZLUNVAVNULZQSAIHJJAFOOCEGUSAU"
Returns: "PALINDROME"
"ZKTHLUUNVNUULHTKZ"
Returns: "PALINDROME"
"TVMZDVHDSVCKCVSDHVDZMVT"
Returns: "PALINDROME"
"HNBGBHESEREWVYRYVWERESEHBGBNH"
Returns: "PALINDROME"
"COAPPTWIOEIBORCTZEIISYUYSIIEZTCROBIEOIWTPPAOC"
Returns: "PALINDROME"
"HJNYFFDMMDFFYNJH"
Returns: "PALINDROME"
"SNZUGBRQMSFHYHFSMQRBGUZNS"
Returns: "PALINDROME"
"ZDGKHFKUBUKFHKGDZ"
Returns: "PALINDROME"
"GIXWEJIQQIJEWXIG"
Returns: "PALINDROME"
"IBSJKTYFCDZHFSRYYRSFHZDCFYTKJSBI"
Returns: "PALINDROME"
"DRXNOBLLBONXRD"
Returns: "PALINDROME"
"BFNJGLYMEMYLGJNFB"
Returns: "PALINDROME"
"NIRSLVLLZUHOJIUBNTENFXFNETNBUIJOHUZLLVLSRIN"
Returns: "PALINDROME"
"BTZDRXZVHMQVZNWHIVCCVIHWNZVQMHVZXRDZTB"
Returns: "PALINDROME"
"LKRNBCOHRIBDNEHFKYTDSSSSDTYKFHENDBIRHOCBNRKL"
Returns: "PALINDROME"
"TNFFOJQQGDPWQTUMULQZNVVNZQLUMUTQWPDGQQJOFFNT"
Returns: "PALINDROME"
"ZJKSDMAPEYIXPHJKOIIOKJHPXIYEPAMDSKJZ"
Returns: "PALINDROME"
"ZUBWLCMSHNOPONHSMCLWBUZ"
Returns: "PALINDROME"
"CIOCIGCMGBUGXYXGUBGMCGICOIC"
Returns: "PALINDROME"
"JVVGGEYCCVCYHFMSILSOCWAVVAWCOSLISMFHYCVCCYEGGVVJ"
Returns: "PALINDROME"
"MGGKFMSPOHAHOPSMFKGGM"
Returns: "PALINDROME"
"RZRSOVTUHMYIAYRRFUQMFFSFFMQUFRRYAIYMHUTVOSRZR"
Returns: "PALINDROME"
"GISBBHQOQHBBSIG"
Returns: "PALINDROME"
"VRRODWGZBQRLLRQBZGWDORRV"
Returns: "PALINDROME"
"HSUEWFLOMMJOEIYTYSOERAWYWAREOSYTYIEOJMMOLFWEUSH"
Returns: "PALINDROME"
"HCOOVEPFQPPQFPEVOOCH"
Returns: "PALINDROME"
"MEPLXBSTZQIURNJPVPJNRUIQZTSBXLPEM"
Returns: "PALINDROME"
"HQQKGTDGGDTGKQQH"
Returns: "PALINDROME"
"KQWDWJNCZQZJGKKXJZPUUGUUPZJXKKGJZQZCNJWDWQK"
Returns: "PALINDROME"
"OBDYUEOFQKFQIYBPSFPBUGSGUBPFSPBYIQFKQFOEUYDBO"
Returns: "PALINDROME"
"VHYCGVDRRSOKKNVNKKOSRRDVGCYHV"
Returns: "PALINDROME"
"MFWWQQWOAHUQGFQPEVMMVEPQFGQUHAOWQQWWFM"
Returns: "PALINDROME"
"NKITLZUDEZMNKQMYNEJJENYMQKNMZEDUZLTIKN"
Returns: "PALINDROME"
"GGJQJUGQELLEQGUJQJGG"
Returns: "PALINDROME"
"ASAUCICCCCICUASA"
Returns: "PALINDROME"
"FMTBMRERMBTMF"
Returns: "PALINDROME"
"MQPRAFWGKPNMWHWKKWHWMNPKGWFARPQM"
Returns: "PALINDROME"
"KLPWCZUGVIRRVHHVRRIVGUZCWPLK"
Returns: "PALINDROME"
"NJAWHYGEJZDNFZOWUSPJPJPSUWOZFNDZJEGYHWAJN"
Returns: "PALINDROME"
"GJQIAQDTOSVJRXMOUFZZFUOMXRJVSOTDQAIQJG"
Returns: "PALINDROME"
"UYHMSDTKFICDOYUUPCCCCPUUYODCIFKTDSMHYU"
Returns: "PALINDROME"
"LYGTKZVSDUBVQZOYOZQVBUDSVZKTGYL"
Returns: "PALINDROME"
"QRYAGGHWXBXUWWDJMMJDWWUXBXWHGGAYRQ"
Returns: "PALINDROME"
"CDLPJDQXXQDJPLDC"
Returns: "PALINDROME"
"NCUZNRBUWWHGESHRGVUSUUKUUSUVGRHSEGHWWUBRNZUCN"
Returns: "PALINDROME"
"YOZDHOZOZPGJGTINMUPHNPPNHPUMNITGJGPZOZOHDZOY"
Returns: "PALINDROME"
"GASWAKUTTZNTQKHKQTNZTTUKAWSAG"
Returns: "PALINDROME"
"HHHHHHUDDNDUUUUHHHHHHHHHHHHHHHHHHHHHSHHHHHHHH"
Returns: "NOT EVEN FAUX"
"YFRAJFEVVWTVEYSVVTIPLSLPITVVSSEVTWVVEFJARFY"
Returns: "NOT EVEN FAUX"
"ZZZZZZZZZZZZZZZZGDDDDDTVTTTZDDGGGGGGGGGGGZZZZZZZ"
Returns: "NOT EVEN FAUX"
"CJXEJACCAJEXJF"
Returns: "NOT EVEN FAUX"
"NNNNNNNNUUUGUUUUUUUUUUUDDJJJJGGJDDDDDDDDDUUNNNNN"
Returns: "NOT EVEN FAUX"
"LEWOFQQFAWEL"
Returns: "NOT EVEN FAUX"
"UUUGUUUUHHHHHHHXXXXXXXXWXHHHHHHHUU"
Returns: "NOT EVEN FAUX"
"PCAWKOVVEKDAUAZOOZAFADKEVVOKWACP"
Returns: "NOT EVEN FAUX"
"FNNNNDNNNNNNNNHHHWWHNFFFFFFFFFFFFF"
Returns: "NOT EVEN FAUX"
"SVZCLHRYJOXXOJYRKLCZVS"
Returns: "NOT EVEN FAUX"
"SSSSSSSSSGGGGGCKKKTKKKCCGGGGSSSSSS"
Returns: "FAUX"
"PXMDCWGJATHKWTCKEOMKCSDSCKMOEKCTWKHTAJGWTDMXP"
Returns: "NOT EVEN FAUX"
"OOOOWOOOIQQXQQQIOOOOOOOOOOO"
Returns: "NOT EVEN FAUX"
"UDZKURZMHMJTRSDDSRTJMHUZRUKZDU"
Returns: "NOT EVEN FAUX"
"FFFFFFFFFFFFFFFFFFFFRRRRRRRRORRRUCCUURF"
Returns: "NOT EVEN FAUX"
"HFKXVRMQTWSOTQGSNNSXDVQVDXSNNSGQTOSWTPMRVXKFH"
Returns: "NOT EVEN FAUX"
"RRRJJJJJJOJJJJJBPBBJJRRR"
Returns: "NOT EVEN FAUX"
"FLVASXQWIDSUYJFCGIMTAJKJJKJATMIGCFXYUSDIWQXSAVLF"
Returns: "NOT EVEN FAUX"
"CCCCCCVVVVVVVVVVVLLLLLMULVVCCCCCCCCCCC"
Returns: "NOT EVEN FAUX"
"CTZHTJBPYNKXCRYCQEJZHXOJVJOXHZJEQCYRCXKNYPBJTHZTC"
Returns: "PALINDROME"
"ZZZZZZZAAADDDVDCCDAAAAAAZ"
Returns: "NOT EVEN FAUX"
"LTSISEDXVJQNKVQHFAERALAREAFQQVKNQJVXDESISTL"
Returns: "NOT EVEN FAUX"
"WWWWDDDDDJJJBBJDDDDDWWWWWWTWWWWWWW"
Returns: "NOT EVEN FAUX"
"TYJTEGYAMZMNRWZJVVJZWRNMZMAYGEQJYT"
Returns: "NOT EVEN FAUX"
"FFFCZZZGZPFFF"
Returns: "NOT EVEN FAUX"
"BLXIUZZUIMLB"
Returns: "NOT EVEN FAUX"
"SSSSSSSSAAAAWAFJFASSSSS"
Returns: "NOT EVEN FAUX"
"JWQFNUCEJPTYZQVTZOJWWJOZTVQZETPJECUNFQWJ"
Returns: "NOT EVEN FAUX"
"TTTTTTTTTTTTTUOMOUUFTTTTTTT"
Returns: "NOT EVEN FAUX"
"QQGTLJZLVQYSQSTBUYUBTSQSYQVLZJLTGXQ"
Returns: "NOT EVEN FAUX"
"NNNNXXXXXXXXXXXXXCXJYJXXXXXXNNNNN"
Returns: "NOT EVEN FAUX"
"HZFZYVHCAYGWRNMFYIHEALLAEHIYCMNRWGYACHVYZFZH"
Returns: "NOT EVEN FAUX"
"QQQQQQQQQQQQQQQQQQRRRCCCCLILCCCCCRRRRRRRRZRRQQQQ"
Returns: "NOT EVEN FAUX"
"CQHXXGAQQAGXSHQC"
Returns: "NOT EVEN FAUX"
"GGGNGGGGGGGGGGGGGGGGGGGGIIIIIIKKKUKKIIIIIIIIIIIGG"
Returns: "NOT EVEN FAUX"
"FXMGOQWBCFTTFKBWQOGMXF"
Returns: "NOT EVEN FAUX"
"FFFFFFFFFFFFDDDDDDDDUUUJUDDDDDFFFFFFYFFFF"
Returns: "NOT EVEN FAUX"
"TMIAHNSTBYLPZVQONOEQCKHKHKCQEONOQVZPLYBTSNHAIGT"
Returns: "NOT EVEN FAUX"
"CCCCCCCCCCIIIIIIIIIIIWMMMWEC"
Returns: "NOT EVEN FAUX"
"FWDTITDJF"
Returns: "NOT EVEN FAUX"
"EIEEEPPPPPPPXXXKXPPPPPPEEE"
Returns: "NOT EVEN FAUX"
"OPXCNGTRJULZVBNWGXJFQJJQFJXGWNBVZLUNRTGNCXPO"
Returns: "NOT EVEN FAUX"
"FFFFFFFFFFFFFFFFFFFFFFFFEBBBBBBBBWWIIHHIWBBBF"
Returns: "NOT EVEN FAUX"
"LWJOXKHGHTKWGAAJDAEESQYTVVTYSSEEADJAAGWKTHGHKXOJWL"
Returns: "NOT EVEN FAUX"
"YYYFFFFFGFFFRIRFFFYYYY"
Returns: "NOT EVEN FAUX"
"KPNCIJAZHUMZTYZMQETGGYIXHXIYGGTEQMZDTZMUHZAJICNPK"
Returns: "NOT EVEN FAUX"
"AAMLLLLJJJJLLLLLALLLLLLLLMMAAAAAA"
Returns: "NOT EVEN FAUX"
"FHJNYDOCMHTURHEGADOODAGEHRUTHMCODKNJHF"
Returns: "NOT EVEN FAUX"
"RRRRWWWKKKWDWKWWWWWWR"
Returns: "FAUX"
"FDMABJOYDUBOBUDYOJAAMDF"
Returns: "NOT EVEN FAUX"
"AT"
Returns: "NOT EVEN FAUX"
"AAAABCAAAA"
Returns: "NOT EVEN FAUX"
"ABCA"
Returns: "NOT EVEN FAUX"
"ANNA"
Returns: "PALINDROME"
"TTOOTPPPOOOOT"
Returns: "NOT EVEN FAUX"
"ASDFGA"
Returns: "NOT EVEN FAUX"
"XYZYMX"
Returns: "NOT EVEN FAUX"
"AANA"
Returns: "FAUX"
"AB"
Returns: "NOT EVEN FAUX"
"AABBCBA"
Returns: "FAUX"
"AANNAA"
Returns: "PALINDROME"
"ABBA"
Returns: "PALINDROME"
"ABBCBA"
Returns: "FAUX"
"A"
Returns: "PALINDROME"
"KKOOOOOOOOOK"
Returns: "FAUX"
"ABC"
Returns: "NOT EVEN FAUX"
"TTAAXAAT"
Returns: "FAUX"