Advent 2025 Day 2 Part 2

This commit is contained in:
Jos van Goor 2025-12-06 15:31:49 +01:00
parent 151a0ca82f
commit 99cde16ca6
2 changed files with 19 additions and 7 deletions

View file

@ -14,14 +14,26 @@ pub fn solve(input: &str) {
for range in ranges {
for idx in range.start..range.end {
let as_str = format!("{idx}");
let id = format!("{idx}");
let pattern_max_len = id.len() / 2;
// println!("id: {id}, len: {}, pattern_max_len: {pattern_max_len}", id.len());
for pattern_len in 1..=pattern_max_len {
if id.len() % pattern_len != 0 {
continue;
}
let repeats = id.len() / pattern_len;
let pattern = id[..pattern_len].repeat(repeats);
if as_str.len() % 2 == 0 && as_str[..as_str.len() / 2] == as_str[as_str.len() / 2..] {
// println!("invalid found: {as_str}");
sum_of_invalids += idx;
if pattern == id {
sum_of_invalids += idx;
// println!("invalid pattern found: {id} (pattern: {})", &pattern[..pattern_len]);
break
}
}
}
}
println!("Part 1: {sum_of_invalids}");
println!("Part 2: {sum_of_invalids}");
}

View file

@ -1,5 +1,5 @@
use paste::paste;
mod utility;
solve_day!{1}
// test_day!{1}
solve_day!{2}
// test_day!{2}