Skip to content

Commit 4aa1b03

Browse files
committed
Remove calculation from parse method
1 parent 37c8065 commit 4aa1b03

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

src/year2025/day02.rs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,19 @@ const FIRST: [Range; 5] = [[2, 1], [4, 2], [6, 3], [8, 4], [10, 5]];
99
const SECOND: [Range; 6] = [[3, 1], [5, 1], [6, 2], [7, 1], [9, 3], [10, 2]];
1010
const THIRD: [Range; 2] = [[6, 1], [10, 1]];
1111

12-
pub fn parse(input: &str) -> Pair {
13-
let ranges: Vec<_> = input.iter_unsigned::<u64>().chunk::<2>().collect();
14-
let part_one = sum(&FIRST, &ranges);
15-
let part_two = part_one + sum(&SECOND, &ranges) - sum(&THIRD, &ranges);
16-
[part_one, part_two]
12+
pub fn parse(input: &str) -> Vec<Pair> {
13+
input.iter_unsigned::<u64>().chunk::<2>().collect()
1714
}
1815

19-
pub fn part1(input: &Pair) -> u64 {
20-
input[0]
16+
pub fn part1(input: &[Pair]) -> u64 {
17+
sum(&FIRST, input)
2118
}
2219

23-
pub fn part2(input: &Pair) -> u64 {
24-
input[1]
20+
pub fn part2(input: &[Pair]) -> u64 {
21+
sum(&FIRST, input) + sum(&SECOND, input) - sum(&THIRD, input)
2522
}
2623

27-
fn sum(ranges: &[Range], ids: &[Pair]) -> u64 {
24+
fn sum(ranges: &[Range], input: &[Pair]) -> u64 {
2825
let mut result = 0;
2926

3027
for &[digits, size] in ranges {
@@ -35,7 +32,7 @@ fn sum(ranges: &[Range], ids: &[Pair]) -> u64 {
3532
let start = step * (size_power / 10);
3633
let end = step * (size_power - 1);
3734

38-
for &[from, to] in ids {
35+
for &[from, to] in input {
3936
let lower = from.next_multiple_of(step).max(start);
4037
let upper = to.min(end);
4138

0 commit comments

Comments
 (0)