diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-07-31 11:21:45 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-31 11:21:45 +0100 |
| commit | a7a55e2bc412d908952b7e79cc72b2a221d44385 (patch) | |
| tree | 56e2904f3d95b6a2dc08e7d6d106b7170757c3c5 | |
| parent | ed7c16f9d0c95a6ccc72f5171c223dc9a5ae8f9e (diff) | |
| parent | cfad85cc885ae2c5e5cb6e8362ae537a2f2a667f (diff) | |
| download | perlweeklychallenge-club-a7a55e2bc412d908952b7e79cc72b2a221d44385.tar.gz perlweeklychallenge-club-a7a55e2bc412d908952b7e79cc72b2a221d44385.tar.bz2 perlweeklychallenge-club-a7a55e2bc412d908952b7e79cc72b2a221d44385.zip | |
Merge pull request #12437 from fer2o3/kachow
feat(332): completed both challenges
| -rwxr-xr-x | challenge-332/benjamin-andre/rust/ch-1.rs | 16 | ||||
| -rwxr-xr-x | challenge-332/benjamin-andre/rust/ch-2.rs | 17 |
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-332/benjamin-andre/rust/ch-1.rs b/challenge-332/benjamin-andre/rust/ch-1.rs new file mode 100755 index 0000000000..7b96164000 --- /dev/null +++ b/challenge-332/benjamin-andre/rust/ch-1.rs @@ -0,0 +1,16 @@ +#!/bin/sh +//usr/bin/env rustc --test $0 -o kachow && ./kachow --nocapture; rm -f kachow ; exit + +fn binary_date(date: &str) -> String { + date.split('-') + .map(|part| format!("{:b}", part.parse::<u32>().unwrap())) + .collect::<Vec<_>>() + .join("-") +} + +#[test] +fn example() { + assert_eq!(binary_date("2025-07-26"), "11111101001-111-11010"); + assert_eq!(binary_date("2000-02-02"), "11111010000-10-10"); + assert_eq!(binary_date("2024-12-31"), "11111101000-1100-11111"); +} diff --git a/challenge-332/benjamin-andre/rust/ch-2.rs b/challenge-332/benjamin-andre/rust/ch-2.rs new file mode 100755 index 0000000000..f847c4af3c --- /dev/null +++ b/challenge-332/benjamin-andre/rust/ch-2.rs @@ -0,0 +1,17 @@ +#!/bin/sh +//usr/bin/env rustc --test $0 -o kachow && ./kachow --nocapture; rm -f kachow ; exit + +fn odd_letters(s: &str) -> bool { + let mut counts = std::collections::HashMap::new(); + for c in s.chars() { + *counts.entry(c).or_insert(0) += 1; + } + counts.values().all(|&count| count % 2 == 1) +} + +#[test] +fn example() { + assert_eq!(odd_letters("weekly"), false); + assert_eq!(odd_letters("perl"), true); + assert_eq!(odd_letters("challenge"), false); +} |
