Wrote program for Day 5
This commit is contained in:
parent
539eddce01
commit
9b06185114
6
Week-01/Day-05_Pair-Of-Socks/pair_of_socks/Cargo.toml
Normal file
6
Week-01/Day-05_Pair-Of-Socks/pair_of_socks/Cargo.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "pair_of_socks"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
12
Week-01/Day-05_Pair-Of-Socks/pair_of_socks/src/lib.rs
Normal file
12
Week-01/Day-05_Pair-Of-Socks/pair_of_socks/src/lib.rs
Normal file
@ -0,0 +1,12 @@
|
||||
pub fn sock_pairs(socks: &str) -> usize {
|
||||
let mut sock_pairs = 0;
|
||||
let mut socks = String::from(socks);
|
||||
|
||||
while !socks.is_empty() {
|
||||
let full_length = socks.len();
|
||||
socks = socks.replace(socks.chars().next().unwrap(), "");
|
||||
sock_pairs += (full_length - socks.len()) / 2;
|
||||
}
|
||||
|
||||
sock_pairs
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
use pair_of_socks::sock_pairs;
|
||||
|
||||
#[test]
|
||||
fn one_sock_pair() {
|
||||
assert_eq!(sock_pairs("AA"), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn two_sock_pair() {
|
||||
assert_eq!(sock_pairs("ABABC"), 2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn four_sock_pair() {
|
||||
assert_eq!(sock_pairs("CABBACCC"), 4);
|
||||
}
|
Loading…
Reference in New Issue
Block a user