Skip to content

Commit a1ee161

Browse files
committed
Rewrite Part 2 a bit
1 parent 8b04e5c commit a1ee161

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/day01.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ use std::fs;
33
use std::iter::zip;
44
use std::path::PathBuf;
55

6-
pub fn day01(mut input: PathBuf) -> () {
7-
input.push("01.txt");
8-
let message: String = fs::read_to_string(input).unwrap();
9-
let (mut left, mut right) = parse_input(&message);
6+
pub fn day01(mut input_path: PathBuf) {
7+
input_path.push("01.txt");
8+
let input: String = fs::read_to_string(input_path).unwrap();
9+
let (mut left, mut right) = parse_input(&input);
1010

1111
left.sort();
1212
right.sort();
@@ -32,11 +32,13 @@ fn part1(left: &Vec<u32>, right: &Vec<u32>) -> u32 {
3232
}
3333

3434
fn part2(left: &Vec<u32>, right: &Vec<u32>) -> u32 {
35-
let mut map = HashMap::new();
35+
let mut counter = HashMap::new();
3636

3737
for element in right {
38-
*map.entry(*element).or_default() += 1;
38+
*counter.entry(*element).or_default() += 1;
3939
}
4040

41-
left.iter().map(|v| v * map.get(v).unwrap_or(&0)).sum()
41+
left.iter()
42+
.map(|v| counter.get(v).map(|c| c * v).unwrap_or(0))
43+
.sum()
4244
}

0 commit comments

Comments
 (0)