Compare commits
3 Commits
master
...
beeb89a2f6
Author | SHA1 | Date | |
---|---|---|---|
beeb89a2f6 | |||
64851dd68b | |||
2fd479d02d |
@ -10,9 +10,9 @@ chrono = "0.4.23"
|
||||
regex = "1.7.0"
|
||||
|
||||
[features]
|
||||
default = ["a", "b", "today"]
|
||||
a = []
|
||||
b = []
|
||||
default = ["part1", "part2", "today"]
|
||||
part1 = []
|
||||
part2 = []
|
||||
today = []
|
||||
01 = []
|
||||
02 = []
|
||||
|
2235
input/01.txt
2235
input/01.txt
File diff suppressed because it is too large
Load Diff
@ -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
20
src/day02/mod.rs
Normal 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);
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ 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())
|
||||
}
|
||||
|
Reference in New Issue
Block a user