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

File diff suppressed because it is too large Load Diff

View File

@ -2,4 +2,29 @@ use crate::read;
pub fn run() { pub fn run() {
let input = read("01"); 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::path::Path;
use std::time::Instant; use std::time::Instant;
use chrono::prelude::*;
mod day01; mod day01;
mod day02;
fn main() { fn main() {
let today = Local::now().day(); let today = Local::now().day();
@ -10,8 +11,7 @@ fn main() {
day01::run(); day01::run();
} }
if cfg!(feature = "day02") || (cfg!(feature = "today") && today == 2) { if cfg!(feature = "day02") || (cfg!(feature = "today") && today == 2) {
todo!() day02::run();
//day02::run();
} }
println!("Finished, time taken: {:?}", now.elapsed()) println!("Finished, time taken: {:?}", now.elapsed())
} }