Statistics

Problem Statement for "MagicSpell"

Problem Statement

You are given a String spell containing an ancient magic spell. The spell is encrypted, but the cypher is quite simple. To decrypt the spell, you need to find all occurrences of the letters 'A' and 'Z', and then reverse their order. For example, if the encrypted spell is "AABZCADZA", you would first find all the 'A's and 'Z's: "AA_Z_A_ZA". You would then reverse their order: "AZ_A_Z_AA". The final decrypted spell is "AZBACZDAA". Return the decrypted version of the given spell.

Definition

Class:
MagicSpell
Method:
fixTheSpell
Parameters:
String
Returns:
String
Method signature:
String fixTheSpell(String spell)
(be sure your method is public)

Constraints

  • spell will contain between 1 and 50 uppercase letters ('A'-'Z'), inclusive.

Examples

  1. "AZ"

    Returns: "ZA"

    This spell contains only letters 'A' and 'Z', so we just need to reverse it.

  2. "ABACADA"

    Returns: "ABACADA"

    This spell remains the same after decryption.

  3. "AABZCADZA"

    Returns: "AZBACZDAA"

    The example from the problem statement.

  4. "AZBASGHNAZAHBNVZZGGGAGGZAZ"

    Returns: "ZABZSGHNAZZHBNVAZGGGAGGAZA"

  5. "ZZZAZZFAZAZBANZZZFZAZZZPZAAASZZAZZZ"

    Returns: "ZZZAZZFAAAZBZNZZAFZZZZAPZAZASZZAZZZ"

  6. "A"

    Returns: "A"

  7. "ZKAVAEAYXXAGPZDOEXBZJVVBYPZLPN"

    Returns: "ZKZVZEAYXXAGPADOEXBAJVVBYPZLPN"

  8. "AAZAAZZAAAZLAAWXZZCZAZZZZAAAAAAANA"

    Returns: "AAAAAAAAZZZLZAWXZZCZAAZAAAZZAAZANA"

  9. "ZZAMAAAELHKAGQCDUAAWAZAAAALVUFAAZLTACWAE"

    Returns: "AAZMAAAELHKAGQCDUAAWZAAAAALVUFAAALTZCWZE"

  10. "DZOZN"

    Returns: "DZOZN"

  11. "AAZVAAZVZZBAAZAZAAAAANZAAZAZAAAZZZZAKZAAKAZEPA"

    Returns: "AZAVAAZVAZBZZZAAAZAZANAZAAAAAZAZAAZZKZAAKZAEPA"

  12. "ZAZAAZZAZAMZAOZZAZNSZSAKAZZZZZZAZAPZ"

    Returns: "ZAZAZZZZZZMAAOZZAZNSZSAKZAZAZZAAZAPZ"

  13. "DPZAAAATZAAAAPAAAAAAATAAAAAAPAAJA"

    Returns: "DPAAAAATAAAAAPAAAAAAATAAAZAAPAAJZ"

  14. "WZYZZBH"

    Returns: "WZYZZBH"

  15. "APAAHZAWAHQHBAZAAA"

    Returns: "APAAHZAWAHQHBAZAAA"

  16. "IGZEDUORRSOAZWZWJLFAAAZPUG"

    Returns: "IGZEDUORRSOAAWAWJLFZZAZPUG"

  17. "JZWXMZHLZZDZZTJNXGZSZNCVAZMOHWBZZWZRZMHHR"

    Returns: "JZWXMZHLZZDZATJNXGZSZNCVZZMOHWBZZWZRZMHHR"

  18. "AZGCCZAGXTAAZZPIBZBGZZKOZKBJM"

    Returns: "ZZGCCZZGXTZZAAPIBABGZZKOAKBJM"

  19. "AAZZ"

    Returns: "ZZAA"

  20. "ZJGZUZWIAPAZLUZZWZDZZZZMCFZ"

    Returns: "ZJGZUZWIZPZZLUZZWZDAAZZMCFZ"

  21. "AAAAAAYAAVDAZZZAAEAZAKDZIAAAAHDGZL"

    Returns: "ZAAAAZYAZVDAAAZZZEAAAKDAIAAAAHDGAL"

  22. "AZEOWTAZZZKZAZZZ"

    Returns: "ZZEOWTZAZZKZZAZA"

  23. "EXXGEYHGCRDPMCOROPFHOQ"

    Returns: "EXXGEYHGCRDPMCOROPFHOQ"

  24. "ZZAZYGZAZGVZK"

    Returns: "ZZAZYGZAZGVZK"

  25. "WZXMAFQAAALAYZZAWYBACKKKAAAYUFBSEYGVAPAV"

    Returns: "WAXMAFQAAALAYAZZWYBACKKKAAAYUFBSEYGVAPZV"

  26. "AXAHAIESAHAUX"

    Returns: "AXAHAIESAHAUX"

  27. "PAAWZJAAA"

    Returns: "PAAWAJZAA"

  28. "AAAOGAFFCFEARAPS"

    Returns: "AAAOGAFFCFEARAPS"

  29. "OES"

    Returns: "OES"

  30. "ZUAYNANAASAAAGMKAAOAMAAAOHAFAWVJAAKAAAAA"

    Returns: "AUAYNANAASAAAGMKAAOAMAAAOHAFAWVJAAKAAAAZ"

  31. "AZJJHSQAAEACAZTAZWGALRMAAAASB"

    Returns: "AAJJHSQAAEACZATZAWGALRMAAZASB"

  32. "JWZNRIZZZZTZZWZZZZANZZGZZHEGFKZZJAFAAZRACZRVRZZEF"

    Returns: "JWZNRIZZAZTAAWAZZZZNZZGAZHEGFKZZJZFZZZRZCZRVRZZEF"

  33. "CGZZZZUNGP"

    Returns: "CGZZZZUNGP"

  34. "LBWXZASGHZGNPZKMUKZFCVRKLALTZOOXA"

    Returns: "LBWXAZSGHAGNPZKMUKZFCVRKLZLTAOOXZ"

  35. "ZRZWCXZRUXRUEJBXYFKT"

    Returns: "ZRZWCXZRUXRUEJBXYFKT"

  36. "UADZMZATCKAAZXTBGN"

    Returns: "UZDAMAATCKZZAXTBGN"

  37. "JAZLKGZPZKCZDWXZQLVZWZ"

    Returns: "JZZLKGZPZKCZDWXZQLVZWA"

  38. "GRCMNJAWSFZAAOAASZAHLAFAAACZRPHN"

    Returns: "GRCMNJZWSFAAAOAASZAHLAFAAZCARPHN"

  39. "AARAIXFPPFLP"

    Returns: "AARAIXFPPFLP"

  40. "LZTUP"

    Returns: "LZTUP"

  41. "NAUMTZNMDYZVZAMARFUZAKKSMNNAAHB"

    Returns: "NAUMTANMDYAVZAMARFUZZKKSMNNZAHB"

  42. "AAAAAAAAAAAATAAAAWAAAAAAALAASKAAHAOAAAAWAAAAAJW"

    Returns: "AAAAAAAAAAAATAAAAWAAAAAAALAASKAAHAOAAAAWAAAAAJW"

  43. "UTZAZLZZBUXAFNZWAAAJIAO"

    Returns: "UTAAALAZBUXAFNZWZZAJIZO"

  44. "CWNABTHAKIUHTUDBMNFAQKLZTJAEFUKLJQ"

    Returns: "CWNABTHZKIUHTUDBMNFAQKLATJAEFUKLJQ"

  45. "EZZHZFZXAZAALJAAAAZZAAGAZADLZZZZAZZAZAZZ"

    Returns: "EZZHAFZXAZZALJZZZZAZAAGAZZDLAAAAAAZAZZZZ"

  46. "TKTRKXNVZTUWOVJPVN"

    Returns: "TKTRKXNVZTUWOVJPVN"

  47. "OMLZSCZZQWMVHMZZBZAGZNIXZAKNZUZZODWZZGE"

    Returns: "OMLZSCZZQWMVHMZZBAZGZNIXAZKNZUZZODWZZGE"

  48. "ARAYAAAZRZJAQZAAMALAE"

    Returns: "ARAYAAZARZJZQAAAMALAE"

  49. "LSXKTPWZDYKZBTVXXJOTHX"

    Returns: "LSXKTPWZDYKZBTVXXJOTHX"

  50. "ORAEAQNMHZIYBZGPXJTYULVBUKMZRN"

    Returns: "ORZEZQNMHZIYBAGPXJTYULVBUKMARN"

  51. "ZPHZAMNAIMUCTSQMNPHWJZZCMPXXZYXWZIYXQ"

    Returns: "ZPHZZMNZIMUCTSQMNPHWJAACMPXXZYXWZIYXQ"

  52. "AAXAAAAAAZAPAAAZAZAAAAANAAAGGAAAAA"

    Returns: "AAXAAAAAAAAPAAAZAZAAAAZNAAAGGAAAAA"

  53. "SNQKCZIZZGPVRJZLZJZHYXZBACFCZBHUXZVZCGX"

    Returns: "SNQKCZIZZGPVRJALZJZHYXZBZCFCZBHUXZVZCGX"

  54. "ZMZEDZQCAZIZZILIZFSZZXZHKCZEZJPZRZBZZZAYZ"

    Returns: "ZMAEDZQCZZIZZILIZFSZZXZHKCZEZJPZRZBZAZZYZ"

  55. "VAXANM"

    Returns: "VAXANM"

  56. "ZHAZ"

    Returns: "ZHAZ"

  57. "AOAARVAZZIZUWFLTAAYIDJAKEAAAAANAAAAAUQKAAWXTX"

    Returns: "AOAARVAAAIAUWFLTAAYIDJAKEAAAAANZZZAAUQKAAWXTX"

  58. "AACAAEAAPAZABCPALAAALARKATAPTAAZAAAAKNYAAMAAA"

    Returns: "AACAAEAAPAAABCPZLAAALARKATAPTAAAAZAAKNYAAMAAA"

  59. "F"

    Returns: "F"

  60. "ZOWVRCLZVIZYKZZMZTRZANTJTSAZRZJPAMZQVZMAZAAI"

    Returns: "AOWVRCLAVIZYKAZMZTRAZNTJTSZARAJPZMZQVZMZZZZI"

  61. "KZAZJAVBCAAPA"

    Returns: "KAAAJAVBCZAPZ"

  62. "PZAHBIIXQTQEAJQOPFUQVXMX"

    Returns: "PAAHBIIXQTQEZJQOPFUQVXMX"

  63. "MAZNTSWHFJRAHQZHKAVEYPFPHUA"

    Returns: "MAANTSWHFJRZHQAHKZVEYPFPHUA"

  64. "W"

    Returns: "W"

  65. "OKMAARAXZAZAKQIZZAYPZBAEAAKVAAAIAAAZAAOZUAZUKZAUK"

    Returns: "OKMAZRZXAZAAKQIZAAYPABAEAAKVAAAIZAZZAZOAUZAUKAAUK"

  66. "DPBLJPDYACVTFVEKMURJUEVZITRSCPGLXAGYUIUDAHKXTIX"

    Returns: "DPBLJPDYACVTFVEKMURJUEVAITRSCPGLXZGYUIUDAHKXTIX"

  67. "QERZIHZVJAZZZMPRPG"

    Returns: "QERZIHZVJZAZZMPRPG"

  68. "AAAAZAAAAZAAZAAAGQA"

    Returns: "AAAAZAAZAAAAZAAAGQA"

  69. "TSVZZZZOUJZWSZQZZZOLJRZSZZZLQASZZZRLZZXFZKTJX"

    Returns: "TSVZZZZOUJZWSZQAZZOLJRZSZZZLQZSZZZRLZZXFZKTJX"

  70. "QVZHJRSYDVAFJSHIAJJPZBUOQKTJKXAPHJUHYEJZYALHGBSR"

    Returns: "QVAHJRSYDVZFJSHIAJJPZBUOQKTJKXAPHJUHYEJAYZLHGBSR"

  71. "XJCXSFHYYKUJJVQTDPSXBIRGMUWCIZCT"

    Returns: "XJCXSFHYYKUJJVQTDPSXBIRGMUWCIZCT"

  72. "AWARUZRAAZAMESCMZGMXKYZRKGUSZBEJZZGZ"

    Returns: "ZWZRUZRZZZAMESCMZGMXKYARKGUSABEJZAGA"

  73. "Q"

    Returns: "Q"

  74. "IRVCZXHLRAMZIQATZBDIMFBZNYMXDYRXLTILHWLY"

    Returns: "IRVCZXHLRZMAIQZTABDIMFBZNYMXDYRXLTILHWLY"

  75. "MOPZXMMYGGUJBXHOOMTQTEOXZHTFLKRUKSQPIAQTSK"

    Returns: "MOPAXMMYGGUJBXHOOMTQTEOXZHTFLKRUKSQPIZQTSK"

  76. "ZCNAZZZXWAZWZZZZZAZZZAZAZFZZVZAZJZICAAAZA"

    Returns: "ACNZAAAXWZZWAZZZZAZAZZZAZFZZVZZZJAICZZZAZ"

  77. "KLMATAIBBMEYHTXAPWAAYVYCTAAZARBDDDEIZOUZQIWAOR"

    Returns: "KLMATZIBBMEYHTXZPWAZYVYCTAAAARBDDDEIAOUAQIWAOR"

  78. "VXIAIAZZAWATADAYKWQ"

    Returns: "VXIAIAAAZWZTADAYKWQ"

  79. "AVAZACAUYHGAZZAUZZZZAHSAZWN"

    Returns: "ZVAAZCZUYHGZZAZUZAAAZHSAAWN"

  80. "ARAZCZAZZAZMWAAAAAAAZRAXAZYEHLAEZZAX"

    Returns: "ARZZCAZAAZAMWAAAAAAZARZXZAYEHLZEZAAX"

  81. "ZZWCNTRBTYY"

    Returns: "ZZWCNTRBTYY"

  82. "NIJZTJQUWVCOKRBRPGJRD"

    Returns: "NIJZTJQUWVCOKRBRPGJRD"

  83. "RZRRQVP"

    Returns: "RZRRQVP"

  84. "TZALAAJAAAAPAWHEACVKAZ"

    Returns: "TZALAAJAAAAPAWHEACVKAZ"

  85. "AAAZ"

    Returns: "ZAAA"

  86. "AZCZ"

    Returns: "ZZCA"

  87. "AZJZAAAZZJBNZABKMZAKMMZ"

    Returns: "ZAJZAZZZAJBNAABKMZZKMMA"

  88. "ABAAZAAZBBA"

    Returns: "ABZAAZAABBA"

  89. "AABA"

    Returns: "AABA"

  90. "AZBCDZ"

    Returns: "ZZBCDA"

  91. "BBBAAZZBBZZZ"

    Returns: "BBBZZZZBBZAA"

  92. "CC"

    Returns: "CC"

  93. "B"

    Returns: "B"

  94. "BCD"

    Returns: "BCD"

  95. "BBBBBBB"

    Returns: "BBBBBBB"

  96. "ZZXXAAXXZZA"

    Returns: "AZXXZAXXAZZ"

  97. "AXXXZX"

    Returns: "ZXXXAX"

  98. "BCDEF"

    Returns: "BCDEF"


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: