mirror of
https://github.com/theoludwig/programming-challenges.git
synced 2024-11-09 22:08:58 +01:00
feat(challenge): add caesar-cipher
This commit is contained in:
parent
1cdcd964b8
commit
229dcf03c3
29
challenges/caesar-cipher/README.md
Normal file
29
challenges/caesar-cipher/README.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# caesar-cipher
|
||||||
|
|
||||||
|
Created by [@Divlo](https://github.com/Divlo) on 21 October 2020.
|
||||||
|
|
||||||
|
## 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 rotation by 3 :
|
||||||
|
|
||||||
|
```
|
||||||
|
Original alphabet : ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||||
|
Alphabet rotated +3 : DEFGHIJKLMNOPQRSTUVWXYZABC
|
||||||
|
```
|
||||||
|
|
||||||
|
Complete the solution function. It should return the encrypted string.
|
||||||
|
|
||||||
|
The function has the following parameter(s):
|
||||||
|
|
||||||
|
- `string`: a string in cleartext (everything uppercase)
|
||||||
|
- `shift`: an integer, the alphabet rotation factor
|
||||||
|
|
||||||
|
## Source :
|
||||||
|
|
||||||
|
- [Wikipedia - Caesar cipher](https://en.wikipedia.org/wiki/Caesar_cipher)
|
||||||
|
|
||||||
|
## Examples :
|
||||||
|
|
||||||
|
See the `input-output.json` file for examples of input/output.
|
18
challenges/caesar-cipher/input-output.json
Normal file
18
challenges/caesar-cipher/input-output.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"input": ["ANTHONY", 2],
|
||||||
|
"output": "YLRFMLW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"input": ["THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG", 3],
|
||||||
|
"output": "QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"input": ["PROGRAMMING CHALLENGES IS AWESOME", 14],
|
||||||
|
"output": "BDASDMYYUZS OTMXXQZSQE UE MIQEAYQ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"input": ["JVUNYHABSHAPVUZ", 7],
|
||||||
|
"output": "CONGRATULATIONS"
|
||||||
|
}
|
||||||
|
]
|
0
challenges/caesar-cipher/solutions/.gitkeep
Normal file
0
challenges/caesar-cipher/solutions/.gitkeep
Normal file
Loading…
Reference in New Issue
Block a user