Skip to content

Commit 5a5b2b1

Browse files
committed
day1 refactor, lol
1 parent 4d6b3ac commit 5a5b2b1

File tree

3 files changed

+6
-46
lines changed

3 files changed

+6
-46
lines changed

2022/day01/Cargo.lock

-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

2022/day01/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ edition = "2021"
66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
77

88
[dependencies]
9-
itertools = "0.10.5"
109

1110
[[bin]]
1211
name = "day01"

2022/day01/day01.rs

+6-27
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,11 @@
1-
use std::fs::File;
2-
use std::io::BufRead;
3-
use std::io::BufReader;
4-
5-
6-
use itertools::Itertools;
7-
81
fn main() {
9-
let lines = read_lines("./input.txt");
10-
let groups = lines.iter()
11-
.group_by(|l| (**l).len() == 0)
12-
.into_iter()
13-
.filter(|(ge0, _)| *ge0 == false)
14-
.map(|(_, group)| group.cloned().map(|line| line.parse::<u64>().unwrap()).collect())
15-
.collect::<Vec<Vec<u64>>>();
16-
17-
let sums: Vec<u64> = groups.iter()
18-
.map(|g| g.iter().sum())
2+
let mut sums: Vec<u64> = include_str!("./input.txt")
3+
.split("\n\n")
4+
.map(|group| group.lines().map(|line| line.parse::<u64>().unwrap()).sum())
195
.collect();
206

21-
println!("part1 {}", sums.iter().max().unwrap());
22-
println!("part2 {}", sums.iter().sorted().rev().take(3).sum::<u64>())
7+
sums.sort();
238

9+
println!("part1 {}", sums.iter().max().unwrap());
10+
println!("part2 {}", sums.iter().rev().take(3).sum::<u64>())
2411
}
25-
26-
fn read_lines(filename: &str) -> Vec<String> {
27-
let f = File::open(filename).unwrap();
28-
let reader = BufReader::new(f);
29-
reader.lines()
30-
.map(|l| l.unwrap())
31-
.collect()
32-
}

0 commit comments

Comments
 (0)