use std::fs::File; use std::io::{BufRead, BufReader}; use std::path::Path; pub fn solve() { let masses = read_masses("./src/day_1/puzzle_1.txt"); let mut sum: f32 = 0.0; for mass in &masses { sum += (mass / 3.0).floor() - 2.0; } println!("sum: {}", sum); } fn read_masses(filename: impl AsRef) -> Vec { let file = File::open(filename).expect("no such file"); let buffer = BufReader::new(file); buffer .lines() .map(|l| { l.expect("could not read line") .parse::() .expect("could not parse line") }) .collect() }