Compare commits
2 Commits
48f9790c5e
...
283c49a7d8
| Author | SHA1 | Date | |
|---|---|---|---|
| 283c49a7d8 | |||
| 26530738dc |
35
src/day03.rs
Normal file
35
src/day03.rs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
use std::fs::read_to_string;
|
||||||
|
|
||||||
|
pub fn day_main() {
|
||||||
|
let input = read_to_string("input/day03.txt").unwrap();
|
||||||
|
println!("part1: {}", part1(&input));
|
||||||
|
println!("part2: {}", part2(&input));
|
||||||
|
}
|
||||||
|
|
||||||
|
type RiddleResult = usize;
|
||||||
|
|
||||||
|
fn part1(input: &str) -> RiddleResult {
|
||||||
|
0
|
||||||
|
}
|
||||||
|
|
||||||
|
fn part2(_input: &str) -> RiddleResult {
|
||||||
|
0
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use super::{part1, part2};
|
||||||
|
|
||||||
|
const TEST_INPUT: &str = r"
|
||||||
|
";
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test1() {
|
||||||
|
assert_eq!(part1(TEST_INPUT), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test2() {
|
||||||
|
assert_eq!(part2(TEST_INPUT), 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
pub mod day01;
|
pub mod day01;
|
||||||
pub mod day02;
|
pub mod day02;
|
||||||
|
pub mod day03;
|
||||||
|
|||||||
37
src/main.rs
37
src/main.rs
@@ -1,12 +1,35 @@
|
|||||||
use std::env::args;
|
use std::{collections::HashMap, env::args};
|
||||||
|
|
||||||
use advent_of_rust_2024::{day01, day02};
|
use advent_of_rust_2024::*;
|
||||||
|
use itertools::Itertools;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
let mains: HashMap<u8, fn() -> ()> = HashMap::from_iter([
|
||||||
|
(1, day01::day_main as fn()),
|
||||||
|
(2, day02::day_main),
|
||||||
|
(3, day03::day_main),
|
||||||
|
]);
|
||||||
let day: Option<u8> = args().nth(1).and_then(|a| a.parse().ok());
|
let day: Option<u8> = args().nth(1).and_then(|a| a.parse().ok());
|
||||||
match day {
|
let Some(day) = day else {
|
||||||
Some(1) => day01::day_main(),
|
mains
|
||||||
Some(2) => day02::day_main(),
|
.iter()
|
||||||
_ => println!("hi"),
|
.sorted_by_key(|entry| entry.0)
|
||||||
}
|
.for_each(|(d, f)| {
|
||||||
|
println!("Day {d}:");
|
||||||
|
f();
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
let Some(f) = mains.get(&day) else {
|
||||||
|
println!("No implementation for day {day}.");
|
||||||
|
println!(
|
||||||
|
"Pick one of {}",
|
||||||
|
mains.keys().map(|k| k.to_string()).join(", ")
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("Day {day}:");
|
||||||
|
f();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user