feat: implement day05

This commit is contained in:
Lennard Brinkhaus 2022-12-05 11:42:51 +01:00
parent f67485afc6
commit c44f8b3c5c
Signed by: lennard.brinkhaus
GPG Key ID: 286421EC53998B22
7 changed files with 693 additions and 27 deletions

35
Cargo.lock generated
View File

@ -2,6 +2,41 @@
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3 version = 3
[[package]]
name = "aho-corasick"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
dependencies = [
"memchr",
]
[[package]] [[package]]
name = "aoc-2022" name = "aoc-2022"
version = "0.1.0" version = "0.1.0"
dependencies = [
"regex",
]
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "regex"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.6.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"

View File

@ -6,3 +6,4 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
regex = "1"

View File

@ -3,7 +3,7 @@ use crate::utils;
pub fn execute_task01(content: &str) { pub fn execute_task01(content: &str) {
let vector = utils::convert_to_string_slice(&content); let vector = utils::convert_to_string_slice(&content);
let mut sum_vector = collect_all_calories(vector); let mut sum_vector = collect_all_calories(vector);
sort_calories_descending(&mut sum_vector); sum_vector.sort_by_key(|a| std::cmp::Reverse(*a));
let max: i32 = sum_vector[0]; let max: i32 = sum_vector[0];
@ -13,7 +13,7 @@ pub fn execute_task01(content: &str) {
pub fn execute_task02(content: &str) { pub fn execute_task02(content: &str) {
let vector = utils::convert_to_string_slice(&content); let vector = utils::convert_to_string_slice(&content);
let mut sum_vector = collect_all_calories(vector); let mut sum_vector = collect_all_calories(vector);
sort_calories_descending(&mut sum_vector); sum_vector.sort_by_key(|a| std::cmp::Reverse(*a));
let max_three: i32 = sum_vector.iter().take(3).sum(); let max_three: i32 = sum_vector.iter().take(3).sum();
@ -36,10 +36,4 @@ fn collect_all_calories(list: Vec<&str>) -> Vec<i32> {
} }
return calories_list; return calories_list;
} }
fn sort_calories_descending(vec: &mut Vec<i32>) {
vec.sort_by_key(|a|
std::cmp::Reverse(*a));
}

View File

@ -46,7 +46,6 @@ pub fn execute_task01(content: &str) {
} }
pub fn execute_task02(content: &str) { pub fn execute_task02(content: &str) {
let vector = utils::convert_to_string_slice(&content); let vector = utils::convert_to_string_slice(&content);
let score: i32 = vector.into_iter().map(|line| { let score: i32 = vector.into_iter().map(|line| {
@ -62,21 +61,15 @@ pub fn execute_task02(content: &str) {
} }
fn convert_to_conditional_move(opp: &Move, you: char) -> Move { fn convert_to_conditional_move(opp: &Move, you: char) -> Move {
match you { match (you, opp) {
'X' => match opp { // need to loose ('X', Rock) => Scissors,
Rock => Scissors, ('X', Paper) => Rock,
Paper => Rock, ('X', Scissors) => Paper,
Scissors => Paper, ('Y', _) => opp.clone(),
}, ('Z', Rock) => Paper,
'Y' => ('Z', Paper) => Scissors,
('Z', Scissors) => Rock,
opp.clone(), // need to draw _ => unreachable!(),
'Z' => match opp { // need to win
Rock => Paper,
Paper => Scissors,
Scissors => Rock,
},
_ => panic!("error"),
} }
} }
@ -85,7 +78,7 @@ fn convert_to_move(c: char) -> Move {
'A' | 'X' => Rock, 'A' | 'X' => Rock,
'B' | 'Y' => Paper, 'B' | 'Y' => Paper,
'C' | 'Z' => Scissors, 'C' | 'Z' => Scissors,
_ => panic!("error"), _ => unreachable!(),
} }
} }

126
src/day05.rs Normal file
View File

@ -0,0 +1,126 @@
extern crate regex;
use std::collections::LinkedList;
use crate::utils;
use regex::Regex;
pub fn execute_task01(content: &str) {
let re = Regex::new(r"move (\d+) from (\d+) to (\d+)").unwrap();
let mut setup: Vec<&str> = vec![];
let mut setup_finish = false;
let mut port: Vec<LinkedList<String>> = Default::default();
let vector = utils::convert_to_string_slice(&content);
vector.into_iter().for_each(|line| {
if line.trim().is_empty() {
setup_finish = true;
port = parse_port(setup.clone().to_vec());
return;
}
if !setup_finish {
setup.push(line);
return;
}
let caps = re.captures(line).unwrap();
let size: i32 = caps.get(1).map(|content| content.as_str().parse::<i32>()).unwrap().unwrap();
let from: &str = caps.get(2).map(|content| content.as_str()).unwrap();
let to: &str = caps.get(3).map(|content| content.as_str()).unwrap();
move_in_port(&mut port, from, to, size)
});
let str_line_vec: Vec<String> = port.into_iter().map(|vec| vec.into_iter().last().unwrap().trim().replace("[", "").replace("]", "")).collect();
println!("Day05 - Task01 - Last Item Str Line: {}", str_line_vec.join(""));
}
pub fn execute_task02(content: &str) {
let re = Regex::new(r"move (\d+) from (\d+) to (\d+)").unwrap();
let mut setup: Vec<&str> = vec![];
let mut setup_finish = false;
let mut port: Vec<LinkedList<String>> = Default::default();
let vector = utils::convert_to_string_slice(&content);
vector.into_iter().for_each(|line| {
if line.trim().is_empty() {
setup_finish = true;
port = parse_port(setup.clone().to_vec());
return;
}
if !setup_finish {
setup.push(line);
return;
}
let caps = re.captures(line).unwrap();
let size: i32 = caps.get(1).map(|content| content.as_str().parse::<i32>()).unwrap().unwrap();
let from: &str = caps.get(2).map(|content| content.as_str()).unwrap();
let to: &str = caps.get(3).map(|content| content.as_str()).unwrap();
move_in_port_currently(&mut port, from, to, size)
});
let str_line_vec: Vec<String> = port.into_iter().map(|vec| vec.into_iter().last().unwrap().trim().replace("[", "").replace("]", "")).collect();
println!("Day05 - Task02 - Last Item Str Line: {}", str_line_vec.join(""));
}
fn move_in_port(mut port: &mut Vec<LinkedList<String>>, from: &str, to: &str, size: i32) {
for _ in 0..size {
move_in_port_once(&mut port, from, to)
}
}
fn move_in_port_currently(port: &mut Vec<LinkedList<String>>, from: &str, to: &str, size: i32) {
let mut tmp: LinkedList<String> = LinkedList::new();
for _ in 0..size {
let tmp_tmp = port.get_mut((from.parse::<usize>().unwrap()) -1).unwrap().pop_back().unwrap();
tmp.push_front(tmp_tmp);
}
port.get_mut((to.parse::<usize>().unwrap()) -1).unwrap().append(&mut tmp);
}
fn move_in_port_once(port: &mut Vec<LinkedList<String>>, from: &str, to: &str) {
let tmp: String = port.get_mut((from.parse::<usize>().unwrap()) -1).unwrap().pop_back().unwrap();
port.get_mut((to.parse::<usize>().unwrap()) -1).unwrap().push_back(tmp);
}
fn parse_port(lines: Vec<&str>) -> Vec<LinkedList<String>> {
let mut port = vec![];
lines.into_iter()
.rev()
.skip(1)
.map(|line| parse_port_level(line))
.for_each(|containers| {
for (i, item) in containers.into_iter().enumerate() {
if item.trim().is_empty() {
continue;
}
if port.len() <= i {
port.insert(i, LinkedList::new());
}
port.get_mut(i).unwrap().push_back(item);
}
});
return port;
}
fn parse_port_level(line: &str) -> Vec<String> {
line.chars()
.collect::<Vec<char>>()
.chunks(4)
.map(|c| c.iter().collect::<String>())
.collect()
}

511
src/input/day05/input01 Normal file
View File

@ -0,0 +1,511 @@
[W] [J] [J]
[V] [F] [F] [S] [S]
[S] [M] [R] [W] [M] [C]
[M] [G] [W] [S] [F] [G] [C]
[W] [P] [S] [M] [H] [N] [F] [L]
[R] [H] [T] [D] [L] [D] [D] [B] [W]
[T] [C] [L] [H] [Q] [J] [B] [T] [N]
[G] [G] [C] [J] [P] [P] [Z] [R] [H]
1 2 3 4 5 6 7 8 9
move 3 from 4 to 3
move 3 from 8 to 6
move 2 from 3 to 8
move 3 from 7 to 2
move 1 from 1 to 3
move 6 from 2 to 7
move 5 from 3 to 6
move 1 from 8 to 6
move 4 from 4 to 3
move 2 from 1 to 2
move 10 from 7 to 3
move 1 from 7 to 2
move 6 from 5 to 8
move 1 from 1 to 4
move 7 from 6 to 3
move 22 from 3 to 4
move 3 from 2 to 8
move 4 from 6 to 8
move 5 from 2 to 1
move 3 from 9 to 4
move 2 from 4 to 3
move 1 from 9 to 2
move 1 from 5 to 3
move 1 from 2 to 6
move 1 from 5 to 2
move 1 from 2 to 7
move 4 from 4 to 5
move 2 from 1 to 9
move 1 from 1 to 3
move 2 from 5 to 9
move 5 from 9 to 8
move 1 from 5 to 9
move 1 from 7 to 2
move 1 from 9 to 4
move 5 from 6 to 7
move 1 from 5 to 2
move 2 from 2 to 4
move 2 from 7 to 4
move 2 from 7 to 8
move 21 from 8 to 6
move 6 from 3 to 1
move 1 from 7 to 9
move 1 from 1 to 7
move 7 from 6 to 8
move 3 from 1 to 9
move 24 from 4 to 8
move 3 from 1 to 3
move 10 from 6 to 8
move 1 from 4 to 5
move 1 from 3 to 9
move 5 from 9 to 8
move 11 from 8 to 3
move 1 from 5 to 7
move 1 from 1 to 8
move 1 from 6 to 1
move 19 from 8 to 1
move 1 from 7 to 9
move 10 from 3 to 1
move 3 from 3 to 8
move 1 from 7 to 3
move 1 from 9 to 2
move 23 from 1 to 7
move 1 from 1 to 9
move 1 from 3 to 6
move 2 from 6 to 9
move 7 from 8 to 1
move 8 from 8 to 1
move 11 from 7 to 2
move 2 from 6 to 8
move 1 from 6 to 8
move 7 from 8 to 6
move 1 from 9 to 4
move 1 from 8 to 1
move 10 from 7 to 1
move 6 from 2 to 5
move 5 from 2 to 9
move 4 from 5 to 8
move 1 from 5 to 8
move 13 from 1 to 6
move 1 from 2 to 4
move 1 from 4 to 5
move 2 from 9 to 4
move 3 from 9 to 4
move 2 from 5 to 3
move 1 from 3 to 9
move 2 from 8 to 5
move 2 from 5 to 7
move 2 from 8 to 6
move 2 from 7 to 3
move 2 from 7 to 8
move 4 from 1 to 3
move 3 from 8 to 4
move 8 from 4 to 9
move 1 from 9 to 8
move 3 from 3 to 6
move 4 from 3 to 9
move 1 from 8 to 2
move 12 from 1 to 5
move 9 from 6 to 8
move 1 from 4 to 8
move 3 from 1 to 3
move 12 from 5 to 8
move 1 from 2 to 6
move 1 from 3 to 1
move 1 from 3 to 2
move 1 from 1 to 2
move 16 from 6 to 1
move 1 from 6 to 3
move 2 from 3 to 8
move 7 from 8 to 5
move 1 from 2 to 6
move 1 from 2 to 1
move 2 from 9 to 4
move 1 from 6 to 7
move 8 from 9 to 8
move 5 from 5 to 6
move 9 from 8 to 7
move 12 from 1 to 3
move 2 from 6 to 3
move 6 from 8 to 9
move 5 from 1 to 4
move 2 from 5 to 7
move 11 from 7 to 3
move 1 from 7 to 4
move 2 from 6 to 8
move 7 from 4 to 6
move 3 from 8 to 7
move 3 from 8 to 2
move 19 from 3 to 2
move 4 from 8 to 7
move 2 from 9 to 8
move 1 from 4 to 5
move 1 from 6 to 8
move 1 from 5 to 7
move 8 from 9 to 4
move 1 from 8 to 5
move 1 from 5 to 6
move 4 from 2 to 7
move 8 from 6 to 9
move 6 from 7 to 3
move 4 from 3 to 8
move 5 from 8 to 7
move 15 from 2 to 8
move 8 from 3 to 4
move 7 from 9 to 7
move 3 from 2 to 4
move 2 from 7 to 4
move 2 from 4 to 3
move 1 from 9 to 4
move 9 from 7 to 5
move 4 from 5 to 9
move 2 from 5 to 3
move 2 from 9 to 1
move 3 from 5 to 2
move 4 from 3 to 1
move 7 from 7 to 4
move 3 from 2 to 6
move 4 from 4 to 5
move 2 from 1 to 6
move 8 from 4 to 1
move 1 from 8 to 2
move 1 from 2 to 8
move 11 from 8 to 7
move 3 from 5 to 9
move 1 from 5 to 9
move 11 from 7 to 1
move 7 from 8 to 9
move 11 from 1 to 3
move 6 from 4 to 5
move 8 from 1 to 7
move 4 from 6 to 5
move 3 from 5 to 8
move 8 from 7 to 3
move 7 from 4 to 7
move 7 from 5 to 6
move 3 from 3 to 8
move 2 from 4 to 9
move 16 from 3 to 1
move 7 from 7 to 1
move 2 from 8 to 7
move 2 from 8 to 1
move 1 from 8 to 4
move 1 from 7 to 4
move 2 from 4 to 2
move 1 from 8 to 7
move 1 from 2 to 3
move 1 from 2 to 4
move 1 from 7 to 8
move 8 from 6 to 7
move 1 from 3 to 5
move 15 from 1 to 2
move 4 from 9 to 1
move 1 from 8 to 1
move 11 from 9 to 2
move 21 from 2 to 6
move 1 from 4 to 2
move 4 from 2 to 7
move 1 from 5 to 9
move 1 from 9 to 4
move 19 from 1 to 2
move 5 from 2 to 4
move 8 from 7 to 6
move 10 from 6 to 2
move 5 from 7 to 5
move 2 from 4 to 1
move 3 from 6 to 9
move 3 from 9 to 2
move 1 from 5 to 2
move 13 from 6 to 3
move 2 from 6 to 9
move 17 from 2 to 3
move 1 from 6 to 2
move 2 from 2 to 1
move 2 from 1 to 5
move 5 from 5 to 3
move 2 from 2 to 8
move 10 from 2 to 1
move 18 from 3 to 8
move 13 from 8 to 1
move 7 from 8 to 2
move 2 from 2 to 1
move 4 from 3 to 8
move 1 from 2 to 7
move 1 from 2 to 8
move 2 from 4 to 1
move 1 from 5 to 4
move 1 from 9 to 6
move 1 from 1 to 7
move 11 from 3 to 4
move 1 from 6 to 2
move 7 from 1 to 2
move 5 from 8 to 5
move 1 from 7 to 5
move 3 from 5 to 1
move 7 from 1 to 6
move 6 from 1 to 6
move 6 from 1 to 8
move 2 from 1 to 3
move 5 from 2 to 5
move 1 from 7 to 6
move 1 from 4 to 2
move 4 from 2 to 4
move 1 from 1 to 9
move 1 from 3 to 8
move 7 from 8 to 5
move 1 from 9 to 7
move 1 from 9 to 4
move 8 from 5 to 7
move 5 from 4 to 1
move 4 from 1 to 6
move 3 from 1 to 6
move 3 from 3 to 6
move 1 from 5 to 6
move 3 from 7 to 5
move 15 from 6 to 7
move 12 from 7 to 4
move 8 from 5 to 2
move 3 from 4 to 9
move 3 from 9 to 7
move 1 from 6 to 2
move 9 from 4 to 9
move 4 from 9 to 1
move 2 from 1 to 7
move 3 from 6 to 4
move 3 from 6 to 4
move 2 from 1 to 2
move 1 from 5 to 6
move 2 from 9 to 4
move 13 from 4 to 2
move 22 from 2 to 3
move 3 from 7 to 8
move 1 from 9 to 6
move 1 from 9 to 3
move 2 from 8 to 9
move 3 from 9 to 8
move 5 from 6 to 4
move 2 from 8 to 6
move 4 from 7 to 8
move 2 from 2 to 5
move 4 from 8 to 7
move 2 from 5 to 7
move 7 from 7 to 2
move 9 from 4 to 7
move 4 from 2 to 1
move 3 from 7 to 6
move 12 from 3 to 5
move 5 from 2 to 5
move 1 from 8 to 2
move 1 from 3 to 5
move 4 from 3 to 1
move 2 from 6 to 1
move 11 from 5 to 3
move 3 from 6 to 1
move 8 from 1 to 9
move 5 from 9 to 8
move 2 from 9 to 7
move 1 from 1 to 8
move 4 from 7 to 6
move 6 from 3 to 1
move 1 from 9 to 7
move 5 from 7 to 4
move 3 from 8 to 3
move 1 from 6 to 5
move 2 from 2 to 1
move 4 from 7 to 9
move 3 from 8 to 6
move 6 from 3 to 8
move 6 from 8 to 7
move 4 from 6 to 5
move 6 from 5 to 8
move 2 from 9 to 5
move 2 from 9 to 8
move 4 from 7 to 4
move 1 from 6 to 3
move 5 from 8 to 4
move 1 from 6 to 9
move 1 from 7 to 3
move 7 from 3 to 8
move 6 from 1 to 4
move 6 from 1 to 2
move 17 from 4 to 6
move 4 from 8 to 5
move 3 from 3 to 1
move 5 from 4 to 1
move 5 from 2 to 7
move 7 from 8 to 1
move 7 from 7 to 2
move 4 from 6 to 3
move 6 from 1 to 8
move 2 from 4 to 9
move 2 from 5 to 4
move 1 from 4 to 3
move 1 from 4 to 7
move 2 from 7 to 5
move 4 from 5 to 3
move 1 from 9 to 1
move 5 from 5 to 3
move 1 from 8 to 5
move 7 from 6 to 1
move 6 from 6 to 8
move 11 from 3 to 7
move 2 from 9 to 1
move 8 from 8 to 2
move 5 from 7 to 5
move 5 from 7 to 4
move 1 from 2 to 6
move 2 from 4 to 6
move 1 from 7 to 5
move 2 from 6 to 4
move 10 from 2 to 6
move 3 from 4 to 5
move 1 from 6 to 4
move 4 from 6 to 4
move 6 from 6 to 9
move 3 from 3 to 8
move 19 from 1 to 8
move 23 from 8 to 9
move 1 from 8 to 1
move 1 from 1 to 7
move 1 from 7 to 1
move 1 from 1 to 6
move 5 from 9 to 5
move 1 from 8 to 5
move 5 from 4 to 5
move 4 from 5 to 4
move 1 from 9 to 1
move 6 from 9 to 3
move 2 from 2 to 8
move 1 from 1 to 3
move 1 from 6 to 7
move 1 from 7 to 3
move 1 from 2 to 5
move 6 from 9 to 8
move 5 from 4 to 5
move 10 from 5 to 2
move 10 from 5 to 2
move 11 from 9 to 1
move 4 from 2 to 6
move 18 from 2 to 9
move 2 from 6 to 9
move 3 from 3 to 9
move 1 from 4 to 3
move 1 from 6 to 8
move 6 from 8 to 4
move 6 from 5 to 7
move 19 from 9 to 4
move 7 from 1 to 3
move 1 from 6 to 8
move 4 from 8 to 7
move 2 from 3 to 6
move 3 from 1 to 8
move 1 from 1 to 5
move 7 from 7 to 3
move 8 from 3 to 1
move 1 from 5 to 7
move 2 from 6 to 2
move 3 from 1 to 8
move 1 from 2 to 6
move 3 from 1 to 7
move 4 from 8 to 9
move 4 from 7 to 6
move 3 from 9 to 7
move 3 from 9 to 3
move 6 from 7 to 3
move 13 from 3 to 1
move 5 from 3 to 4
move 1 from 8 to 7
move 1 from 7 to 9
move 1 from 8 to 5
move 1 from 9 to 4
move 1 from 5 to 2
move 2 from 9 to 2
move 3 from 6 to 2
move 1 from 3 to 7
move 13 from 4 to 8
move 14 from 1 to 5
move 6 from 2 to 7
move 4 from 8 to 7
move 1 from 1 to 3
move 1 from 2 to 6
move 5 from 4 to 2
move 4 from 8 to 4
move 12 from 5 to 4
move 1 from 3 to 8
move 9 from 4 to 2
move 9 from 4 to 5
move 1 from 4 to 5
move 6 from 4 to 3
move 5 from 8 to 4
move 9 from 4 to 7
move 4 from 2 to 3
move 8 from 7 to 1
move 2 from 7 to 1
move 2 from 2 to 9
move 1 from 6 to 7
move 2 from 6 to 3
move 1 from 2 to 3
move 2 from 7 to 3
move 3 from 3 to 7
move 8 from 1 to 2
move 9 from 5 to 3
move 15 from 2 to 7
move 20 from 7 to 5
move 23 from 5 to 6
move 20 from 6 to 8
move 1 from 6 to 4
move 2 from 9 to 7
move 1 from 4 to 6
move 3 from 7 to 6
move 2 from 7 to 5
move 13 from 3 to 5
move 3 from 7 to 1
move 13 from 5 to 4
move 3 from 1 to 4
move 5 from 6 to 1
move 6 from 4 to 3
move 1 from 7 to 4
move 11 from 8 to 6
move 1 from 8 to 6
move 2 from 1 to 5
move 2 from 5 to 3
move 11 from 6 to 5
move 3 from 8 to 3
move 4 from 3 to 5
move 15 from 5 to 1
move 1 from 3 to 5
move 3 from 8 to 5
move 1 from 5 to 9
move 1 from 5 to 3
move 9 from 4 to 6
move 7 from 6 to 8
move 2 from 4 to 6
move 2 from 5 to 1
move 8 from 8 to 7
move 6 from 6 to 2
move 1 from 5 to 2
move 4 from 3 to 4
move 6 from 1 to 5
move 7 from 3 to 4
move 2 from 3 to 2
move 2 from 8 to 9
move 9 from 2 to 5
move 9 from 5 to 4
move 2 from 3 to 6
move 14 from 1 to 7
move 15 from 7 to 2
move 1 from 1 to 7
move 7 from 5 to 1
move 2 from 9 to 2
move 2 from 1 to 7
move 1 from 1 to 4
move 2 from 6 to 8
move 7 from 2 to 8
move 1 from 9 to 6
move 7 from 8 to 3
move 1 from 6 to 4
move 1 from 8 to 2
move 6 from 4 to 6
move 9 from 2 to 1
move 1 from 3 to 9
move 3 from 7 to 5

View File

@ -3,11 +3,13 @@ mod day01;
mod day02; mod day02;
mod day03; mod day03;
mod day04; mod day04;
mod day05;
const CONTENT01: &'static str = include_str!("input/day01/input01"); const CONTENT01: &'static str = include_str!("input/day01/input01");
const CONTENT02: &'static str = include_str!("input/day02/input01"); const CONTENT02: &'static str = include_str!("input/day02/input01");
const CONTENT03: &'static str = include_str!("input/day03/input01"); const CONTENT03: &'static str = include_str!("input/day03/input01");
const CONTENT04: &'static str = include_str!("input/day04/input01"); const CONTENT04: &'static str = include_str!("input/day04/input01");
const CONTENT05: &'static str = include_str!("input/day05/input01");
fn main() { fn main() {
day01::execute_task01(&CONTENT01); day01::execute_task01(&CONTENT01);
@ -20,5 +22,9 @@ fn main() {
day03::execute_task02(&CONTENT03); day03::execute_task02(&CONTENT03);
day04::execute_task01(&CONTENT04); day04::execute_task01(&CONTENT04);
day04::execute_task02(&CONTENT04) day04::execute_task02(&CONTENT04);
day05::execute_task01(&CONTENT05);
day05::execute_task02(&CONTENT05);
} }