Wrote program for Day 14

This commit is contained in:
Mariano Riefolo 2024-08-08 11:10:50 +02:00
parent 24a619b9e8
commit 9383ebd49a
5 changed files with 61 additions and 1 deletions

View File

@ -60,7 +60,7 @@ We encourage you to share your progress and ask questions in the Discussions sec
| Day #11 | [Restore IP Addresses](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-11_Restore-IP-Addresses) | :white_check_mark: |
| Day #12 | [Mountains or Valleys](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-12_Mountains_And_Valleys) | :white_check_mark: |
| Day #13 | [Need Help With Your Packing](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-13_Need-Help-With-Packing) | :white_check_mark: |
| Day #14 | [The Karacas Encryption Algorithm](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-14_Karacas-Encryption-Algorithm) | :white_large_square: |
| Day #14 | [The Karacas Encryption Algorithm](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-02/Day-14_Karacas-Encryption-Algorithm) | :white_check_mark: |
| Day #15 | [Valid Anagram](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-15_Valid-Anagram) | :white_large_square: |
| Day #16 | [Nim Game](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-16_Nim-Game) | :white_large_square: |
| Day #17 | [Prison Break](https://github.com/LiveGray/100-Days-Of-Rust/tree/main/Week-03/Day-17_Prison-Break) | :white_large_square: |

View File

@ -0,0 +1,6 @@
[package]
name = "day14"
version = "0.1.0"
edition = "2021"
[dependencies]

View File

@ -0,0 +1,18 @@
pub fn encrypt(plaintext: &str) -> String {
let mut encrypted = String::new();
for c in plaintext.chars().rev() {
encrypted.push(match c {
'a' => '0',
'e' => '1',
'i' => '2',
'o' => '2',
'u' => '3',
_ => c,
});
}
encrypted.push_str("aca");
encrypted
}

View File

@ -0,0 +1,15 @@
use day14::encrypt;
use std::io::{self, Write};
fn main() {
let mut buffer = String::new();
print!("Insert the string you want to encrypt: ");
io::stdout().flush().expect("Failed to flush stout.");
io::stdin()
.read_line(&mut buffer)
.expect("Failed to read from stdin.");
println!("Your message encrypted is: {}", encrypt(buffer.trim()));
}

View File

@ -0,0 +1,21 @@
use day14::encrypt;
#[test]
fn example1() {
assert_eq!(encrypt("banana"), "0n0n0baca");
}
#[test]
fn example2() {
assert_eq!(encrypt("karaca"), "0c0r0kaca");
}
#[test]
fn example3() {
assert_eq!(encrypt("burak"), "k0r3baca");
}
#[test]
fn example4() {
assert_eq!(encrypt("alpaca"), "0c0pl0aca");
}