This commit is contained in:
JonOfUs 2024-12-01 10:47:47 +01:00
parent 08385f672a
commit 11b2addf4b
3 changed files with 1027 additions and 4 deletions

1000
res/01/input Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,34 @@
use std::collections::HashMap;
use std::fs; use std::fs;
pub fn solve() { pub fn solve() {
let path = "res/01/input"; let path = "res/01/input";
println!("Result 1: {}", 42); let contents = fs::read_to_string(path).expect("Something went wrong reading the file");
println!("Result 2: {}", 42); let mut numbers1 = Vec::<usize>::new();
let mut numbers2 = Vec::<usize>::new();
for line in contents.lines() {
let (n1, n2) = line.split_once(" ").unwrap();
numbers1.push(n1.parse::<usize>().unwrap());
numbers2.push(n2.parse::<usize>().unwrap());
}
numbers1.sort();
numbers2.sort();
let result: usize = numbers1
.iter()
.enumerate()
.map(|(i, n)| n.abs_diff(numbers2[i]))
.sum();
println!("Result 1: {}", result);
let result: usize = numbers1
.iter()
.map(|n| numbers2.iter().filter(|n2| n == *n2).count() * n)
.sum();
println!("Result 2: {}", result);
} }

View file

@ -1,5 +1,4 @@
pub mod days; pub mod days;
#[macro_use]
extern crate scan_fmt; extern crate scan_fmt;
use std::time::Instant; use std::time::Instant;