solve year 2023 day 06 & rewrite number parsing to be generic
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use crate::util::parse::ParseExt;
|
||||
|
||||
fn calories(input: &str) -> impl Iterator<Item = u32> + '_ {
|
||||
input.split("\n\n").map(|set| set.u32s().sum())
|
||||
input.split("\n\n").map(|set| set.unsigned::<u32>().sum())
|
||||
}
|
||||
|
||||
pub fn part1(input: &str) -> impl std::fmt::Display {
|
||||
|
@@ -4,7 +4,7 @@ fn solve(input: &str, filter: fn(u32, u32, u32, u32) -> bool) -> usize {
|
||||
input
|
||||
.lines()
|
||||
.filter_map(|line| {
|
||||
let mut nums = line.u32s();
|
||||
let mut nums = line.unsigned::<u32>();
|
||||
|
||||
if (filter)(nums.next()?, nums.next()?, nums.next()?, nums.next()?) {
|
||||
Some(())
|
||||
|
@@ -2,7 +2,7 @@ use crate::util::parse::ParseExt;
|
||||
|
||||
fn parse(input: &str) -> Option<(Vec<Vec<char>>, impl Iterator<Item = [u32; 3]> + '_)> {
|
||||
let (board, moveset) = input.split_once("\n\n")?;
|
||||
let size = board.lines().last()?.u32s().count();
|
||||
let size = board.lines().last()?.unsigned::<u32>().count();
|
||||
let mut crates: Vec<Vec<char>> = vec![vec![]; size + 1];
|
||||
|
||||
board.lines().for_each(|line| {
|
||||
@@ -22,7 +22,7 @@ fn parse(input: &str) -> Option<(Vec<Vec<char>>, impl Iterator<Item = [u32; 3]>
|
||||
}
|
||||
|
||||
let moves = moveset.lines().filter_map(|line| {
|
||||
let mut nums = line.u32s();
|
||||
let mut nums = line.unsigned();
|
||||
Some([nums.next()?, nums.next()?, nums.next()?])
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user