Files
2024-01-24 19:52:36 +01:00

3.1 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
56533eb9ac21ba0edf2244e2 Caesars Cipher 5 16003 caesars-cipher

--description--

Mojawapo ya ciphers na inayojulikana sana ni Caesar cipher, inayojulikana pia kama shift cipher. Katika shift cipher, maana za herufi hubadilishwa kwa kiwango kilichowekwa.

Mojawapo ya matumizi ya kawaida na ya kisasa ni ROT13 cipher ambapo thamani za herufi zinabadilishwa kwa nafasi 13. Hivyo basi, A ↔ N, B ↔ O na kadhalika.

Andika utaratibu inayochukuwa mfuatano uliosimbwa kwa ROT13 kama ingizo na kurudisha mfuatano uliofafanuliwa.

Herufi zote zitakuwa herufi kubwa. Usivibadilishe vibambo visivyo vya alfabeti (yaani nafasi, uakifishaji) lakini uvipitishe mbele.

--hints--

rot13("SERR PBQR PNZC") inafaa kufafanua kwa mfuatano FREE CODE CAMP

assert(rot13('SERR PBQR PNZC') === 'FREE CODE CAMP');

rot13("SERR CVMMN!")inafaa kufafanua kwa mfuatano FREE PIZZA!

assert(rot13('SERR CVMMN!') === 'FREE PIZZA!');

rot13("SERR YBIR?") inafaa kufafanua kwa mfuatano FREE LOVE?

assert(rot13('SERR YBIR?') === 'FREE LOVE?');

rot13("GUR DHVPX OEBJA SBK WHZCF BIRE GUR YNML QBT.") inafaa kufafanua kwa mfuatano THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.

assert(
  rot13('GUR DHVPX OEBJA SBK WHZCF BIRE GUR YNML QBT.') ===
    'THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.'
);

--seed--

--seed-contents--

function rot13(str) {
  return str;
}

rot13("SERR PBQR PNZC");

--solutions--

var lookup = {
  'A': 'N','B': 'O','C': 'P','D': 'Q',
  'E': 'R','F': 'S','G': 'T','H': 'U',
  'I': 'V','J': 'W','K': 'X','L': 'Y',
  'M': 'Z','N': 'A','O': 'B','P': 'C',
  'Q': 'D','R': 'E','S': 'F','T': 'G',
  'U': 'H','V': 'I','W': 'J','X': 'K',
  'Y': 'L','Z': 'M'
};

function rot13(encodedStr) {
  var codeArr = encodedStr.split("");  // String to Array
  var decodedArr = []; // Your Result goes here
  // Only change code below this line

  decodedArr = codeArr.map(function(letter) {
    if(lookup.hasOwnProperty(letter)) {
      letter = lookup[letter];
    }
    return letter;
  });

  // Only change code above this line
  return decodedArr.join(""); // Array to String
}