Files
advent-of-code-2024/src/bin/d3p1.rs
T
2024-12-03 21:38:03 -08:00

30 lines
685 B
Rust

use advent_of_code_2024::{make_main, SResult};
use regex::Regex;
make_main!();
fn solve(lines: Vec<String>) -> SResult<usize> {
let mut result = 0;
let re = Regex::new(r"mul\((?<mul1>\d{1,3}),(?<mul2>\d{1,3})\)")?;
for line in lines {
for caps in re.captures_iter(&line) {
result += caps["mul1"].parse::<usize>().unwrap() * caps["mul2"].parse::<usize>().unwrap();
}
}
Ok(result)
}
#[cfg(test)]
mod tests {
use advent_of_code_2024::input;
use super::*;
#[test]
fn sample_input() {
let strings: Vec<String> = input!("d3p1.txt");
let got = solve(strings).unwrap();
assert_eq!(got, 161);
}
}