DEV Community

Qroia FAK(C)E
Qroia FAK(C)E

Posted on

Codewars Challenge Day 4: ROT13

Details

Name Kata: ROT13
5kuy
Description: How can you tell an extrovert from an introvert at NSA? Va gur ryringbef, gur rkgebireg ybbxf ng gur BGURE thl'f fubrf.

I found this joke on USENET, but the punchline is scrambled. Maybe you can decipher it? According to Wikipedia, ROT13 is frequently used to obfuscate jokes on USENET.

Hint: For this task you're only supposed to substitue characters. Not spaces, punctuation, numbers etc.
Example:

"EBG13 rknzcyr." --> "ROT13 example." "This is my first ROT13 excercise!" --> "Guvf vf zl svefg EBG13 rkprepvfr!" 
Enter fullscreen mode Exit fullscreen mode

My Solutions

JavaScript

const rot13 = (str) => { return str.replace(/[a-z]/giu, (x) => { return String.fromCharCode( x.charCodeAt() + ( x.toLowerCase() <= 'm' ? 13: -13 )); }); } 
Enter fullscreen mode Exit fullscreen mode

Python

def rot13(message: str) -> str: rot13 = bytes.maketrans( b"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", b"nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM" ) return message.translate(rot13) 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)