Skip to content

Commit 6266d9d

Browse files
committed
Refactor day1
1 parent 2413513 commit 6266d9d

File tree

1 file changed

+16
-24
lines changed

1 file changed

+16
-24
lines changed

src/day1.rs

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,40 @@
11
use aoc_runner_derive::{aoc, aoc_generator};
22

3-
#[derive(Debug)]
4-
pub struct Locations {
5-
left: Vec<usize>,
6-
right: Vec<usize>,
7-
}
8-
93
#[aoc_generator(day1)]
10-
pub fn input_generator(input: &str) -> Locations {
11-
// input.lines().fold((vec![], vec![]), |mut lists, l| {
12-
// let tmp = l.split(" ");
13-
// (
14-
// tmp.next().unwrap().parse().unwrap(),
15-
// tmp.next().unwrap().parse().unwrap(),
16-
// )
17-
// })
4+
pub fn input_generator(input: &str) -> (Vec<usize>, Vec<usize>) {
185
let mut left = Vec::new();
196
let mut right = Vec::new();
207

218
for l in input.lines() {
22-
let mut tmp = l.split(" ");
23-
left.push(tmp.next().unwrap().parse().unwrap());
24-
right.push(tmp.next().unwrap().parse().unwrap());
9+
let tmp = l.split_once(" ").unwrap();
10+
left.push(tmp.0.parse().unwrap());
11+
right.push(tmp.1.parse().unwrap());
2512
}
2613
right.sort();
2714
left.sort();
28-
Locations { right, left }
15+
16+
(left, right)
2917
}
3018

3119
#[aoc(day1, part1)]
32-
pub fn part1(input: &Locations) -> usize {
20+
pub fn part1(input: &(Vec<usize>, Vec<usize>)) -> usize {
3321
let mut sum = 0;
34-
for n in 0..input.left.len() {
35-
sum += input.left[n].abs_diff(input.right[n])
22+
23+
for n in 0..input.0.len() {
24+
sum += input.0[n].abs_diff(input.1[n])
3625
}
26+
3727
sum
3828
}
3929

4030
#[aoc(day1, part2)]
41-
pub fn part2(input: &Locations) -> usize {
31+
pub fn part2(input: &(Vec<usize>, Vec<usize>)) -> usize {
4232
let mut sum = 0;
43-
for n in 0..input.left.len() {
44-
sum += input.left[n] * input.right.iter().filter(|&i| *i == input.left[n]).count()
33+
34+
for n in 0..input.0.len() {
35+
sum += input.0[n] * input.1.iter().filter(|&i| *i == input.0[n]).count()
4536
}
37+
4638
sum
4739
}
4840

0 commit comments

Comments
 (0)