summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/day_1.rs2
-rw-r--r--src/day_2.rs2
-rw-r--r--src/day_3.rs2
-rw-r--r--src/day_4.rs20
-rw-r--r--src/main.rs8
5 files changed, 17 insertions, 17 deletions
diff --git a/src/day_1.rs b/src/day_1.rs
index 6e04a6a..b786999 100644
--- a/src/day_1.rs
+++ b/src/day_1.rs
@@ -1,6 +1,6 @@
use anyhow::Result;
-pub fn day_1() -> Result<()> {
+pub fn solve() -> Result<()> {
let input = include_str!("../input/day_1.txt");
println!("day 1");
println!("part 1: {}", part_1(input));
diff --git a/src/day_2.rs b/src/day_2.rs
index 019e745..3222289 100644
--- a/src/day_2.rs
+++ b/src/day_2.rs
@@ -104,7 +104,7 @@ impl FromStr for Shape {
}
}
-pub fn day_2() -> Result<()> {
+pub fn solve() -> Result<()> {
let input = include_str!("../input/day_2.txt");
println!("day 2");
diff --git a/src/day_3.rs b/src/day_3.rs
index 5335624..a49839a 100644
--- a/src/day_3.rs
+++ b/src/day_3.rs
@@ -2,7 +2,7 @@ use std::{ops::Deref, str::FromStr};
use anyhow::{anyhow, Context, Result};
-pub fn day_3() -> Result<()> {
+pub fn solve() -> Result<()> {
let input = include_str!("../input/day_3.txt");
println!("day 3");
diff --git a/src/day_4.rs b/src/day_4.rs
index 6409f86..c7ec637 100644
--- a/src/day_4.rs
+++ b/src/day_4.rs
@@ -2,16 +2,6 @@ use std::ops::Range;
use anyhow::Result;
-pub fn day_4() -> Result<()> {
- let input = include_str!("../input/day_4.txt");
-
- println!("day 4");
- println!("part 1: {}", part_1(input)?);
- println!("part 2: {}", part_2(input)?);
-
- Ok(())
-}
-
pub fn parse_range(section: &str) -> Result<Range<usize>> {
let (start, end) = section.split_once('-').unwrap();
let start = start.parse::<usize>()?;
@@ -33,6 +23,16 @@ fn range_is_union((a, b): &(Range<usize>, Range<usize>)) -> bool {
(a.start <= b.start && a.end >= b.start) || (b.start <= a.start && b.end >= a.start)
}
+pub fn solve() -> Result<()> {
+ let input = include_str!("../input/day_4.txt");
+
+ println!("day 4");
+ println!("part 1: {}", part_1(input)?);
+ println!("part 2: {}", part_2(input)?);
+
+ Ok(())
+}
+
pub fn part_1(input: &str) -> Result<usize> {
let ranges: Vec<_> = input.lines().map(parse_pair).collect::<Result<_>>()?;
Ok(ranges.into_iter().filter(range_is_subset).count())
diff --git a/src/main.rs b/src/main.rs
index b06c9d1..1511ea6 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -2,10 +2,10 @@ use advent_of_code_2022::{day_1, day_2, day_4, day_3};
use anyhow::Result;
fn main() -> Result<()> {
- day_1::day_1()?;
- day_2::day_2()?;
- day_3::day_3()?;
- day_4::day_4()?;
+ day_1::solve()?;
+ day_2::solve()?;
+ day_3::solve()?;
+ day_4::solve()?;
Ok(())
}