day04 finished

This commit is contained in:
Ruediger Ludwig 2023-01-29 15:12:26 +01:00
parent d7c85a75f6
commit 33eb92e9d1
10 changed files with 1184 additions and 55 deletions

View file

@ -1,5 +1,27 @@
use itertools::Itertools;
use std::{fs, io};
pub fn read_data(day_num: usize, file: &str) -> io::Result<String> {
fn read_data(day_num: usize, file: &str) -> io::Result<String> {
fs::read_to_string(format!("data/day{:02}/{}", day_num, file))
}
pub fn read_lines(day_num: usize, file: &str) -> io::Result<Vec<String>> {
let lines = read_data(day_num, file)?;
let x = lines
.split('\n')
.with_position()
.filter_map(|line| match line {
itertools::Position::First(line)
| itertools::Position::Middle(line)
| itertools::Position::Only(line) => Some(line.to_owned()),
itertools::Position::Last(line) => {
if line.len() == 0 {
None
} else {
Some(line.to_owned())
}
}
})
.collect();
Ok(x)
}