puzzles/advent_of_code_2024/src/day1/part1.rs

26 lines
682 B
Rust

pub fn solve(input: &String) {
let all_numbers = input.split_whitespace()
.filter(|str| !str.is_empty())
.map(|str| str.parse::<i32>().unwrap())
.collect::<Vec<_>>();
let mut left = Vec::new();
let mut right = Vec::new();
for idx in (0..all_numbers.len()).step_by(2) {
left.push(all_numbers[idx]);
right.push(all_numbers[idx + 1]);
}
left.sort();
right.sort();
let mut sum_of_distances = 0;
for idx in 0..left.len() {
sum_of_distances += (left[idx] - right[idx]).abs();
}
println!("sum of distances: {}", sum_of_distances);
}