This commit is contained in:
timeshifter
2025-04-04 19:18:03 +02:00
parent d977f4b511
commit 6b63ede4f0
5 changed files with 1071 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "day_01"
version = "0.1.0"
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "day_01"
version = "0.1.0"
edition = "2024"
[dependencies]
+6
View File
@@ -0,0 +1,6 @@
3 4
4 3
2 5
1 3
3 9
3 3
+1000
View File
File diff suppressed because it is too large Load Diff
+52
View File
@@ -0,0 +1,52 @@
use std::{collections::HashMap, fs::read_to_string};
fn main() {
part_01();
part_02();
}
fn part_02() {
let mut left = vec![];
let mut right = HashMap::new();
read_to_string("input.txt")
.unwrap()
.lines()
.for_each(|line| {
let mut iter = line.split_whitespace();
left.push(iter.next().unwrap().parse::<isize>().unwrap());
right
.entry(iter.next().unwrap().parse::<isize>().unwrap())
.and_modify(|e| *e += 1)
.or_insert(1);
});
let mut sum = 0;
for number in left {
sum += number * *right.entry(number).or_default();
}
println!("{sum}");
}
fn part_01() {
let mut left = vec![];
let mut right = vec![];
read_to_string("input.txt")
.unwrap()
.lines()
.for_each(|line| {
let mut iter = line.split_whitespace();
left.push(iter.next().unwrap().parse::<isize>().unwrap());
right.push(iter.next().unwrap().parse::<isize>().unwrap());
});
left.sort_unstable();
right.sort_unstable();
let mut sum = 0;
for (l, r) in left.into_iter().zip(right) {
sum += (l - r).abs();
}
println!("{sum}");
}