Compare commits
No commits in common. 'd10cd7da69d03b1ccef175f069cd371fd1a9362d' and 'e5d3b424a5dde378745bb2d18811cf5a3545dcfd' have entirely different histories.
d10cd7da69
...
e5d3b424a5
@ -1,9 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "day_6"
|
|
||||||
description = "Day 6 of the Advent of Code 2024"
|
|
||||||
version = "0.1.0"
|
|
||||||
edition = "2021"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
solver_base = { workspace = true }
|
|
||||||
utils = { workspace = true }
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
|
|
||||||
use std::{env, fs, path::Path};
|
|
||||||
|
|
||||||
fn main()
|
|
||||||
{
|
|
||||||
// let out_dir = env::var("OUT_DIR").unwrap();
|
|
||||||
// let cwd = env::var("CARGO_MANIFEST_DIR").unwrap();
|
|
||||||
// println!("CWD: {}\n", cwd);
|
|
||||||
// let data_dir = cwd + "\\data";
|
|
||||||
// let data_path = Path::new(&data_dir);
|
|
||||||
// println!("Data path: {}", data_path.to_string_lossy());
|
|
||||||
|
|
||||||
// let data_path = Path::new("data/test_input");
|
|
||||||
|
|
||||||
// let out_dir = env::var("OUT_DIR").unwrap();
|
|
||||||
// panic!("out_dir: {}", out_dir);
|
|
||||||
let out_path = format!("../../target/{}", &env::var("PROFILE").unwrap());
|
|
||||||
let out_path = Path::new(&out_path);
|
|
||||||
//let out_path = Path::new(&out_dir).join(&env::var("PROFILE").unwrap());
|
|
||||||
let out_path_data = out_path.join(Path::new("data"));
|
|
||||||
|
|
||||||
if !out_path_data.exists()
|
|
||||||
{
|
|
||||||
fs::create_dir(&out_path_data).expect(&format!("Could not create data directory at: {}", out_path_data.to_string_lossy()));
|
|
||||||
}
|
|
||||||
|
|
||||||
for file in fs::read_dir("data").unwrap()
|
|
||||||
{
|
|
||||||
let file = file.unwrap();
|
|
||||||
let dest = out_path.join(file.path());
|
|
||||||
fs::copy(file.path(), &dest).expect(&format!("Could not copy file {} to {}", file.path().to_string_lossy(), dest.to_string_lossy()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* @file day_6.rs
|
|
||||||
* @author Joey Pollack
|
|
||||||
* @date 2024/12/05 (y/m/d)
|
|
||||||
* @modified 2024/12/05 (y/m/d)
|
|
||||||
* @copyright Joseph R Pollack
|
|
||||||
* @brief Advent of Code 2024 day 6 problems
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
use ::solver_base::solver_base::{Solver, DataSet, RunMode};
|
|
||||||
use utils::utils;
|
|
||||||
|
|
||||||
pub struct Day6
|
|
||||||
{
|
|
||||||
data_set: DataSet,
|
|
||||||
run_mode: RunMode,
|
|
||||||
do_debug_prints: bool,
|
|
||||||
pub final_result: i32,
|
|
||||||
}
|
|
||||||
|
|
||||||
//|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||
// DAY 4 IMPL
|
|
||||||
//|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||
impl Day6
|
|
||||||
{
|
|
||||||
pub fn new() -> Day6
|
|
||||||
{
|
|
||||||
Day6 { data_set: DataSet::Test, run_mode: RunMode::FirstCase, do_debug_prints: false, final_result: 0 }
|
|
||||||
}
|
|
||||||
|
|
||||||
fn solve_first_case(self: &mut Self) -> String
|
|
||||||
{
|
|
||||||
|
|
||||||
self.final_result.to_string()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn solve_second_case(self: &mut Self) -> String
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
self.final_result.to_string()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||
// SOLVER TRAIT IMPL
|
|
||||||
//|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||
impl Solver for Day6
|
|
||||||
{
|
|
||||||
fn print_test()
|
|
||||||
{
|
|
||||||
println!("DAY 6 TEST PRINT");
|
|
||||||
}
|
|
||||||
|
|
||||||
fn init(self: &mut Self, data_set: DataSet, run_mode: RunMode, enable_debug_prints: bool)
|
|
||||||
{
|
|
||||||
self.data_set = data_set;
|
|
||||||
self.run_mode = run_mode;
|
|
||||||
self.do_debug_prints = enable_debug_prints;
|
|
||||||
|
|
||||||
let dir = utils::get_working_dir();
|
|
||||||
let data_filename =
|
|
||||||
match self.data_set
|
|
||||||
{
|
|
||||||
DataSet::Test => format!("{}/data/day6_test_input", dir),
|
|
||||||
DataSet::TestAlt => panic!("Day 6: There is no TestAlt input file!"), //format!("{}/data/day2_test_input", dir),
|
|
||||||
DataSet::Full => format!("{}/data/day6_input", dir),
|
|
||||||
};
|
|
||||||
|
|
||||||
let _data = utils::load_data(&data_filename);
|
|
||||||
|
|
||||||
// TODO: Day6::init
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
fn solve(self: &mut Self) -> String
|
|
||||||
{
|
|
||||||
match self.run_mode
|
|
||||||
{
|
|
||||||
RunMode::FirstCase =>
|
|
||||||
{
|
|
||||||
self.solve_first_case()
|
|
||||||
},
|
|
||||||
|
|
||||||
RunMode::SecondCase =>
|
|
||||||
{
|
|
||||||
self.solve_second_case()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
|
|
||||||
pub mod day_6;
|
|
||||||
Loading…
Reference in New Issue