use std::error::Error; use std::fs::File; use std::io::{self, BufRead}; use std::vec::Vec; fn main() -> Result<(), Box> { let file = File::open("inputs/day1.txt")?; let lines = io::BufReader::new(file).lines().map(|l| l.unwrap()); let numbers: Vec = lines.map(|l| l.parse().unwrap()).collect(); let mut last_number: Option = None; let mut count = 0; for num in numbers.iter() { if let Some(last_number) = last_number { if num > &last_number { count += 1; } } last_number = Some(*num); } println!("Answer Part1: {}", count); count = 0; last_number = None; for window in numbers.windows(3) { let num = window.iter().fold(0, |a, b| a + b); if let Some(last_number) = last_number { if num > last_number { count += 1; } } last_number = Some(num); } println!("Answer Part2: {}", count); Ok(()) }