From 1cce3469bba13cde9fafd1923c791eeb24eb51a6 Mon Sep 17 00:00:00 2001 From: TriMill Date: Tue, 6 Dec 2022 00:16:50 -0500 Subject: [PATCH] day 06 --- examples/day06_1.rs | 13 +++++++++++++ examples/day06_2.rs | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 examples/day06_1.rs create mode 100644 examples/day06_2.rs diff --git a/examples/day06_1.rs b/examples/day06_1.rs new file mode 100644 index 0000000..bcc6f0a --- /dev/null +++ b/examples/day06_1.rs @@ -0,0 +1,13 @@ +use std::collections::HashSet; + +fn main() { + let line = std::io::stdin().lines().next().unwrap().unwrap(); + let chars: Vec = line.chars().collect(); + for (i, window) in chars.windows(4).enumerate() { + let set: HashSet = HashSet::from_iter(window.iter().map(|x| *x)); + if set.len() == 4 { + println!("{}", i + 4); + return + } + } +} diff --git a/examples/day06_2.rs b/examples/day06_2.rs new file mode 100644 index 0000000..62eb59c --- /dev/null +++ b/examples/day06_2.rs @@ -0,0 +1,13 @@ +use std::collections::HashSet; + +fn main() { + let line = std::io::stdin().lines().next().unwrap().unwrap(); + let chars: Vec = line.chars().collect(); + for (i, window) in chars.windows(14).enumerate() { + let set: HashSet = HashSet::from_iter(window.iter().map(|x| *x)); + if set.len() == 14 { + println!("{}", i + 14); + return + } + } +}