Problem Statement
Square cypher is very simple and easy to decrypt. It encrypts a message s=s0s1...sn-1 in the following way: all characters situated on square positions (0, 1, 4, 9, 16...) are moved to the front of the message. The relative order of the moved characters remains the same. For example, the message "thisisacontest" will be encrypted as "thinissacotest".
You are given a
Definition
- Class:
- SquareCypher
- Method:
- decrypt
- Parameters:
- String
- Returns:
- String
- Method signature:
- String decrypt(String cryptogram)
- (be sure your method is public)
Constraints
- cryptogram will contain between 1 and 50 characters, inclusive.
- cryptogram will contain only lowercase letters ('a'..'z').
Examples
"thinissacotest"
Returns: "thisisacontest"
This test is from the statement.
"thisisacontest"
Returns: "thisiaconstest"
"heoll"
Returns: "hello"
Only the letter 'o' was moved.
"test"
Returns: "test"
Obviously, short messages (not longer than 4 characters) are not change after the encryption.
"b"
Returns: "b"
"rf"
Returns: "rf"
"ssp"
Returns: "ssp"
"qlkd"
Returns: "qlkd"
"ngkki"
Returns: "ngkik"
"gigifi"
Returns: "giifgi"
"ctnlbda"
Returns: "ctlbnda"
"cthhjboo"
Returns: "cthjhboo"
"jdkmilfce"
Returns: "jdmiklfce"
"yajuxiejpw"
Returns: "yaxijejpwu"
"fabdcadcdff"
Returns: "facabdcdfdf"
"oclpccjibihl"
Returns: "occcljibiphl"
"hemaiepudunjt"
Returns: "heiempuduanjt"
"cbedcdadeaabfb"
Returns: "cbcdeadeadabfb"
"hldbpilfkkcoeea"
Returns: "hlpidlfkkbcoeea"
"kccdjcbjckjajegf"
Returns: "kcjccbjckdjajegf"
"aaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaa"
"mmqnecircotkjusabi"
Returns: "mmciqrcotnkjusabei"
"aaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaa"
"idgjxrabrpllelejibem"
Returns: "idragbrpljlelejixbem"
"gysobbqpowlmyivjybrjo"
Returns: "gybqspowlomyivjybbrjo"
"xclbocvlzedvcznvoptuqm"
Returns: "xccvllzedbvcznvooptuqm"
"bbaaeabfebaeeabedfdbada"
Returns: "bbabafebaaeeabedefdbada"
"cfilnlgelaniaejllbolilib"
Returns: "cflgielanliaejllnbolilib"
"htosmqpejulnhpbqdepgjnlkt"
Returns: "htqpoejulsnhpbqdmepgjnlkt"
"aaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaa"
"jkbkmjojaljfdminkocdnceajhc"
Returns: "jkojbaljfkdminkomcdnceajhjc"
"bbbafcfccfbfffbadbefeaceccfc"
Returns: "bbfcbcfbfaffbadbfefeacecccfc"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"hodkleholhpfccmejlcdfjfchgekfg"
Returns: "hohodlhpfkccmejllcdfjfchgeekfg"
"fdbdaccbaeafeabcaecabfdebcfeedc"
Returns: "fdcbbaeafdeabcaeacabfdebccfeedc"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"lnhfffpdmfbbahgihemboipjkfkmeojff"
Returns: "lnpdhmfbbfahgihefmboipjkffkmeojff"
"fffppgfaaepemnlpaolopcnacelnjapmlc"
Returns: "fffafaepepmnlpaoplopcnaceglnjapmlc"
"fltjcpzgxwkwinobrshvlftsubghjkwsfzm"
Returns: "flzgtxwkwjinobrschvlftsubpghjkwsfzm"
"iodrcuotaynnysfzxhvnrlqmqxujdmvqmoqc"
Returns: "iootdaynnrysfzxhcvnrlqmqxuujdmvqmoqc"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"eemnhsofblpmetbhmkioicdepotajnmssiopbh"
Returns: "eefbmlpmentbhmkihoicdepotsajnmssiopboh"
"eeddbccfddbbeeceaedfefdcefddccbfeedcbcd"
Returns: "eefdddbbedeceaedbfefdcefdcdccbfeedcbccd"
"aadcabbcbabbafceadfcdddaaeefbddfbfeebbfa"
Returns: "aacbdabbacfceadfacdddaaeebfbddfbfeebbbfa"
"niqlhdngcsbdkejjfflbiqqtleuasggboqtjshqfh"
Returns: "nigcqsbdklejjfflhbiqqtleudasggboqtjsnhqfh"
"aechfdeehcbdbbkdddekfjaeifcadkhhhacgcedicj"
Returns: "aeehccbdbhbkdddefkfjaeifcdadkhhhacgceedicj"
"cbacddeebdbdaafadbcbacbaceefbafdfcebeeaecfc"
Returns: "cbebadbdacafadbcdbacbaceedfbafdfcebeeeaecfc"
"hhfdngbpjbebpelnadhdijmemikdkbfibfblbnakpncc"
Returns: "hhpjfbebpdelnadhndijmemikgdkbfibfblbbnakpncc"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"bcffgngdncoaleigjmijdfdgjhacjdmlojaiihlchkaeip"
Returns: "bcdnfcoalfeigjmigjdfdgjhancjdmlojaiighlchkaeip"
"bgmigdbtapkmjlmcgpbkahiqrtaeudmclkunncdcniqquns"
Returns: "bgtampkmjilmcgpbgkahiqrtadeudmclkunnbcdcniqquns"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"rofgqgoejdltckbcmtbqpfecfljdfisjlkeoulcpsltrlacrt"
Returns: "roejfdltcgkbcmtbqqpfecfljgdfisjlkeouolcpsltrlacrt"
"hssssljtchagnfsgsnqmkpoifpmgpesifpjasibsifrhmhfckc"
Returns: "hschsagnfssgsnqmskpoifpmglpesifpjasijbsifrhmhfckct"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Returns: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
"abbaaaabbbbbbbbbbaababbbbabbbbaaababbabbbbbbabbb"
Returns: "abbbbbbbbabbbbaaababbbbababbbaaababbaabbbbbbabbb"
"bbbababbbabbabbabbbbbabbaabbbababaabbabbababaaaba"
Returns: "bbbbbabbaabbabbbbbbabbaababbababaabbbabbababaaaba"
"bbbbaaabababbbbbaabababaaabababbbbaabaabaaabbaaaaa"
Returns: "bbabbabbbbbbaabaababaaabaababbbbaabaaabaaabbaaaaab"
"t"
Returns: "t"
"abcdefghi"
Returns: "abdecfghi"
"qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvb"
Returns: "qwopeasdfrghjklztxcvbnmqwyertyuiopasudfghjklzxcvbi"
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwx"
Returns: "abijcklmndopqrsteuvwxyzabfcdefghijklgmnopqrstuvwxh"
"a"
Returns: "a"
"qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcv"
Returns: "qwioepasdrfghjkltzxcvbnmqywertyuiopausdfghjklzxcv"