1
1
mirror of https://github.com/theoludwig/programming-challenges.git synced 2024-12-08 00:45:29 +01:00

feat(challenges): add caesar-cipher

This commit is contained in:
Divlo 2021-06-25 13:45:14 +02:00
parent 99d5290e49
commit 01804ace41
No known key found for this signature in database
GPG Key ID: 185ED2F15F104E52
16 changed files with 55 additions and 0 deletions

View File

@ -0,0 +1,34 @@
# caesar-cipher
Created by [@Divlo](https://github.com/Divlo) on 25 June 2021.
## Instructions
In cryptography, a Caesar cipher, also known as Caesar's cipher, the shift cipher, Caesar's code or Caesar shift, is one of the simplest and most widely known encryption techniques. It is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. For example, with a left shift of -3, D would be replaced by A, E would become B, and so on. The method is named after Julius Caesar, who used it in his private correspondence.
### Example of the alphabet with a shift of +3 (shift to the right)
```text
Alphabet original : ABCDEFGHIJKLMNOPQRSTUVWXYZ
Alphabet rotated +3 : DEFGHIJKLMNOPQRSTUVWXYZABC
```
Create a function that will return the sentence after shifting the alphabet.
- If it is a **positive** number then we shift the alphabet to the **right**
- If it is a **negative** number then we shift the alphabet to the **left**
### Example of Inputs
```py
'ANTHONY' # a character string (all capital letters)
'-2' # an integer, the shift in the alphabet
```
## Source
- [Wikipedia - Caesar cipher](https://en.wikipedia.org/wiki/Caesar_cipher)
## Examples
See the `test` folder for examples of input/output.

View File

@ -0,0 +1,2 @@
ANTHONY
-2

View File

@ -0,0 +1 @@
YLRFMLW

View File

@ -0,0 +1,2 @@
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
-23

View File

@ -0,0 +1 @@
WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

View File

@ -0,0 +1,2 @@
PROGRAMMING CHALLENGES IS AWESOME
-12

View File

@ -0,0 +1 @@
DFCUFOAAWBU QVOZZSBUSG WG OKSGCAS

View File

@ -0,0 +1,2 @@
JVUNYHABSHAPVUZ
-19

View File

@ -0,0 +1 @@
QCBUFOHIZOHWCBG

View File

@ -0,0 +1,2 @@
JAVASCRIPT
-11

View File

@ -0,0 +1 @@
YPKPHRGXEI

View File

@ -0,0 +1,2 @@
HEY
5

View File

@ -0,0 +1 @@
MJD

View File

@ -0,0 +1,2 @@
CODING DOJO
0

View File

@ -0,0 +1 @@
CODING DOJO