mirror of
https://gitlab.com/MisterBiggs/aoc2021.git
synced 2025-06-15 14:36:50 +00:00
refactor organization of repo
This commit is contained in:
parent
83a6196b20
commit
305ec1f29d
6
.gitignore
vendored
6
.gitignore
vendored
@ -11,4 +11,8 @@ Cargo.lock
|
||||
**/*.rs.bk
|
||||
|
||||
# MSVC Windows builds of rustc generate these, which store debugging information
|
||||
*.pdb
|
||||
*.pdb
|
||||
|
||||
# Added by cargo
|
||||
|
||||
/target
|
||||
|
@ -1,8 +1,9 @@
|
||||
[package]
|
||||
name = "rust"
|
||||
name = "aoc2021"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
itertools = "0.10.3"
|
@ -1,9 +0,0 @@
|
||||
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.205.2/containers/rust/.devcontainer/base.Dockerfile
|
||||
|
||||
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye
|
||||
ARG VARIANT="buster"
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/rust:0-${VARIANT}
|
||||
|
||||
# [Optional] Uncomment this section to install additional packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
# && apt-get -y install --no-install-recommends <your-package-list-here>
|
@ -1,46 +0,0 @@
|
||||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.205.2/containers/rust
|
||||
{
|
||||
"name": "Rust",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
// Use the VARIANT arg to pick a Debian OS version: buster, bullseye
|
||||
// Use bullseye when on local on arm64/Apple Silicon.
|
||||
"VARIANT": "buster"
|
||||
}
|
||||
},
|
||||
"runArgs": [
|
||||
"--cap-add=SYS_PTRACE",
|
||||
"--security-opt",
|
||||
"seccomp=unconfined"
|
||||
],
|
||||
|
||||
// Set *default* container specific settings.json values on container create.
|
||||
"settings": {
|
||||
"lldb.executable": "/usr/bin/lldb",
|
||||
// VS Code don't watch files under ./target
|
||||
"files.watcherExclude": {
|
||||
"**/target/**": true
|
||||
},
|
||||
"rust-analyzer.checkOnSave.command": "clippy"
|
||||
},
|
||||
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"vadimcn.vscode-lldb",
|
||||
"mutantdino.resourcemonitor",
|
||||
"matklad.rust-analyzer",
|
||||
"tamasfe.even-better-toml",
|
||||
"serayuzgur.crates"
|
||||
],
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
// "forwardPorts": [],
|
||||
|
||||
// Use 'postCreateCommand' to run commands after the container is created.
|
||||
// "postCreateCommand": "rustc --version",
|
||||
|
||||
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||
"remoteUser": "vscode"
|
||||
}
|
7
day1/rust/Cargo.lock
generated
7
day1/rust/Cargo.lock
generated
@ -1,7 +0,0 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "rust"
|
||||
version = "0.1.0"
|
@ -1,8 +0,0 @@
|
||||
[package]
|
||||
name = "rust"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
@ -1,9 +0,0 @@
|
||||
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.205.2/containers/rust/.devcontainer/base.Dockerfile
|
||||
|
||||
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye
|
||||
ARG VARIANT="buster"
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/rust:0-${VARIANT}
|
||||
|
||||
# [Optional] Uncomment this section to install additional packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
# && apt-get -y install --no-install-recommends <your-package-list-here>
|
@ -1,46 +0,0 @@
|
||||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.205.2/containers/rust
|
||||
{
|
||||
"name": "Rust",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
// Use the VARIANT arg to pick a Debian OS version: buster, bullseye
|
||||
// Use bullseye when on local on arm64/Apple Silicon.
|
||||
"VARIANT": "buster"
|
||||
}
|
||||
},
|
||||
"runArgs": [
|
||||
"--cap-add=SYS_PTRACE",
|
||||
"--security-opt",
|
||||
"seccomp=unconfined"
|
||||
],
|
||||
|
||||
// Set *default* container specific settings.json values on container create.
|
||||
"settings": {
|
||||
"lldb.executable": "/usr/bin/lldb",
|
||||
// VS Code don't watch files under ./target
|
||||
"files.watcherExclude": {
|
||||
"**/target/**": true
|
||||
},
|
||||
"rust-analyzer.checkOnSave.command": "clippy"
|
||||
},
|
||||
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"vadimcn.vscode-lldb",
|
||||
"mutantdino.resourcemonitor",
|
||||
"matklad.rust-analyzer",
|
||||
"tamasfe.even-better-toml",
|
||||
"serayuzgur.crates"
|
||||
],
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
// "forwardPorts": [],
|
||||
|
||||
// Use 'postCreateCommand' to run commands after the container is created.
|
||||
// "postCreateCommand": "rustc --version",
|
||||
|
||||
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
||||
"remoteUser": "vscode"
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
[package]
|
||||
name = "rust"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
@ -1,8 +0,0 @@
|
||||
[package]
|
||||
name = "rust"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
@ -1,9 +0,0 @@
|
||||
[package]
|
||||
name = "rust"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
itertools = "0.10"
|
@ -1,2 +0,0 @@
|
||||
[1204/174854.538:ERROR:registration_protocol_win.cc(102)] CreateFile: The system cannot find the file specified. (0x2)
|
||||
[1217/131743.085:ERROR:registration_protocol_win.cc(102)] CreateFile: The system cannot find the file specified. (0x2)
|
@ -1,7 +1,8 @@
|
||||
use std::fs;
|
||||
|
||||
fn main() {
|
||||
let input = fs::read_to_string("../input.txt").expect("Could not read file");
|
||||
pub fn run() {
|
||||
println!("Day 1:");
|
||||
let input = fs::read_to_string("./inputs/day1.txt").expect("Could not read file");
|
||||
|
||||
let lines: Vec<i32> = input.lines().map(|s| s.parse().unwrap()).collect();
|
||||
|
||||
@ -20,7 +21,7 @@ fn part1(lines: &Vec<i32>) {
|
||||
previous = current;
|
||||
}
|
||||
|
||||
println!("Increases: {}", increases);
|
||||
println!("\tPart 1: {}", increases);
|
||||
}
|
||||
|
||||
fn part2(lines: &Vec<i32>) {
|
||||
@ -36,5 +37,5 @@ fn part2(lines: &Vec<i32>) {
|
||||
previous = current;
|
||||
}
|
||||
|
||||
println!("Increases: {}", increases);
|
||||
println!("\tPart 2: {}", increases);
|
||||
}
|
@ -1,7 +1,8 @@
|
||||
use std::fs;
|
||||
|
||||
fn main() {
|
||||
let input = fs::read_to_string("../input.txt").expect("Could not read file");
|
||||
pub fn run() {
|
||||
println!("Day 2:");
|
||||
let input = fs::read_to_string("./inputs/day2.txt").expect("Could not read file");
|
||||
|
||||
let commands: Vec<(&str, i32)> = input
|
||||
.lines()
|
||||
@ -33,7 +34,7 @@ fn part1(commands: &Vec<(&str, i32)>) {
|
||||
position += change.0;
|
||||
depth += change.1;
|
||||
}
|
||||
println!("Part 1: {}", position * depth);
|
||||
println!("\tPart 1: {}", position * depth);
|
||||
}
|
||||
|
||||
fn part2(commands: &Vec<(&str, i32)>) {
|
||||
@ -53,5 +54,5 @@ fn part2(commands: &Vec<(&str, i32)>) {
|
||||
position += change.0;
|
||||
depth += aim * change.0;
|
||||
}
|
||||
println!("Part 2: {}", position * depth);
|
||||
println!("\tPart 2: {}", position * depth);
|
||||
}
|
@ -1,7 +1,8 @@
|
||||
use std::fs;
|
||||
|
||||
fn main() {
|
||||
let input = fs::read_to_string("../input.txt").expect("Could not read file");
|
||||
pub fn run() {
|
||||
println!("Day 3:");
|
||||
let input = fs::read_to_string("./inputs/day3.txt").expect("Could not read file");
|
||||
|
||||
let report: Vec<&str> = input.lines().collect();
|
||||
let bit_count = report[0].len();
|
||||
@ -28,7 +29,7 @@ fn main() {
|
||||
epsilon += 1;
|
||||
}
|
||||
}
|
||||
println!("Part 1: {}", gamma * epsilon);
|
||||
println!("\tPart 1: {}", gamma * epsilon);
|
||||
}
|
||||
|
||||
{
|
||||
@ -79,6 +80,6 @@ fn main() {
|
||||
i32::from_str_radix(diagnostic[0], 2).unwrap()
|
||||
};
|
||||
|
||||
println!("Part 2: {}", generator * scrubber);
|
||||
println!("\tPart 2: {}", generator * scrubber);
|
||||
}
|
||||
}
|
@ -1,16 +1,17 @@
|
||||
use std::fs;
|
||||
|
||||
fn main() {
|
||||
let input = fs::read_to_string("../input.txt").expect("Could not read file");
|
||||
pub fn run() {
|
||||
println!("Day 4:");
|
||||
let input = fs::read_to_string("./inputs/day4.txt").expect("Could not read file");
|
||||
|
||||
let numbers: Vec<&str> = input.split('\n').next().unwrap().split(',').collect();
|
||||
for i in numbers.iter() {
|
||||
println!("{}", i);
|
||||
println!("\t{}", i);
|
||||
}
|
||||
|
||||
let boards: Vec<&str> = input.split("\n\n").collect();
|
||||
println!("{}", boards.len());
|
||||
for i in boards.iter() {
|
||||
println!("{:?}", i);
|
||||
println!("\t{:?}", i);
|
||||
}
|
||||
}
|
@ -2,8 +2,9 @@ use itertools::Itertools;
|
||||
use std::collections::HashMap;
|
||||
use std::fs;
|
||||
|
||||
fn main() {
|
||||
let input = fs::read_to_string("../input.txt").expect("Could not read file");
|
||||
pub fn run() {
|
||||
println!("Day 5:");
|
||||
let input = fs::read_to_string("./inputs/day5.txt").expect("Could not read file");
|
||||
|
||||
let lines = input
|
||||
.lines()
|
||||
@ -29,6 +30,6 @@ fn main() {
|
||||
}
|
||||
|
||||
for (key, value) in points.into_iter() {
|
||||
println!("({}, {}), {}", key.0, key.1, value);
|
||||
println!("\t({}, {}), {}", key.0, key.1, value);
|
||||
}
|
||||
}
|
14
src/main.rs
Normal file
14
src/main.rs
Normal file
@ -0,0 +1,14 @@
|
||||
mod day1;
|
||||
mod day2;
|
||||
mod day3;
|
||||
mod day4;
|
||||
mod day5;
|
||||
|
||||
fn main() {
|
||||
println!("Running Advent of Code 2021");
|
||||
day1::run();
|
||||
day2::run();
|
||||
day3::run();
|
||||
day4::run();
|
||||
day5::run();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user