From 7b89c13503766f350e333dc1013d3cd32d3f6ba9 Mon Sep 17 00:00:00 2001 From: Joscha Date: Sun, 4 Dec 2022 12:36:42 +0100 Subject: [PATCH] [rs] Solve 2022_04 part 2 --- rs/src/y2022/d04.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rs/src/y2022/d04.rs b/rs/src/y2022/d04.rs index 29b297a..1aa7ad2 100644 --- a/rs/src/y2022/d04.rs +++ b/rs/src/y2022/d04.rs @@ -4,6 +4,10 @@ fn contains(a: &RangeInclusive, b: &RangeInclusive) -> bool { a.start() <= b.start() && b.end() <= a.end() } +fn overlap(a: &RangeInclusive, b: &RangeInclusive) -> bool { + a.contains(b.start()) || a.contains(b.end()) || b.contains(a.start()) || b.contains(a.end()) +} + pub fn solve(input: String) { let pairs = input .lines() @@ -21,4 +25,7 @@ pub fn solve(input: String) { .filter(|(a, b)| contains(a, b) || contains(b, a)) .count(); println!("Part 1: {score}"); + + let score = pairs.iter().filter(|(a, b)| overlap(a, b)).count(); + println!("Part 2: {score}"); }