Compare commits

...

5 Commits

Author SHA1 Message Date
d8f191fd9b Renamed daily fearures 2022-12-02 04:37:00 +00:00
77cb399748 Improved formatting 2022-12-02 04:36:50 +00:00
beeb89a2f6 Day 02 boilerplate 2022-12-01 07:36:30 +01:00
64851dd68b Fix part 1 feature flag 2022-12-01 07:23:51 +01:00
2fd479d02d Day 01 2022-12-01 07:14:55 +01:00
5 changed files with 2308 additions and 28 deletions

View File

@ -10,30 +10,30 @@ chrono = "0.4.23"
regex = "1.7.0"
[features]
default = ["a", "b", "today"]
a = []
b = []
default = ["part1", "part2", "today"]
part1 = []
part2 = []
today = []
01 = []
02 = []
03 = []
04 = []
05 = []
06 = []
07 = []
08 = []
09 = []
10 = []
11 = []
12 = []
13 = []
14 = []
15 = []
16 = []
17 = []
18 = []
19 = []
20 = []
day01 = []
day02 = []
day03 = []
day04 = []
day05 = []
day06 = []
day07 = []
day08 = []
day09 = []
day10 = []
day11 = []
day12 = []
day13 = []
day14 = []
day15 = []
day16 = []
day17 = []
day18 = []
day19 = []
day20 = []

File diff suppressed because it is too large Load Diff

View File

@ -2,4 +2,29 @@ use crate::read;
pub fn run() {
let input = read("01");
let elves = vec![0];
let mut elves = input.lines().fold(elves, |mut acc, x|{
if x.is_empty() {
acc.push(0);
} else {
let num: i32 = x.parse().unwrap();
*acc.last_mut().unwrap() += num;
}
acc
});
elves.sort();
elves.reverse();
#[cfg(feature="part1")]
{
let a = elves.first().unwrap();
eprintln!("Part 01: {}", *a);
}
#[cfg(feature="part2")]
{
let b = elves[..3].iter().sum::<i32>();
eprintln!("Part 02: {}", b);
}
}

20
src/day02/mod.rs Normal file
View File

@ -0,0 +1,20 @@
use crate::read;
pub fn run() {
let input = read("02");
let lines = input.lines();
#[cfg(feature="part1")]
{
let a = "TODO";
eprintln!("Day 2, Part 01: {}", a);
}
#[cfg(feature="part2")]
{
let b = "TODO";
eprintln!("Day 2, Part 02: {}", b);
}
}

View File

@ -1,7 +1,8 @@
use chrono::prelude::*;
use std::path::Path;
use std::time::Instant;
use chrono::prelude::*;
mod day01;
mod day02;
fn main() {
let today = Local::now().day();
@ -10,8 +11,7 @@ fn main() {
day01::run();
}
if cfg!(feature = "day02") || (cfg!(feature = "today") && today == 2) {
todo!()
//day02::run();
day02::run();
}
println!("Finished, time taken: {:?}", now.elapsed())
}