summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormhsn <mail@mhsn.net>2025-04-29 20:12:53 +0100
committermhsn <mail@mhsn.net>2025-04-29 20:12:53 +0100
commitc7c9a61b15e876b464bf06bf7bb06f8bfb396ad9 (patch)
tree5e4b0a09bd293bbcde14f245f1c27b1f1fa0b598
parent75419df5eb7ac81cbd8ac631ca71bbbdae18a10a (diff)
downloadaoc-c7c9a61b15e876b464bf06bf7bb06f8bfb396ad9.tar.gz
aoc-c7c9a61b15e876b464bf06bf7bb06f8bfb396ad9.zip
2024-03 rust p1
-rw-r--r--2024/03/rust/Cargo.lock54
-rw-r--r--2024/03/rust/Cargo.toml7
-rw-r--r--2024/03/rust/src/main.rs20
3 files changed, 81 insertions, 0 deletions
diff --git a/2024/03/rust/Cargo.lock b/2024/03/rust/Cargo.lock
new file mode 100644
index 0000000..705a257
--- /dev/null
+++ b/2024/03/rust/Cargo.lock
@@ -0,0 +1,54 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "aoc_2024-03"
+version = "0.1.0"
+dependencies = [
+ "regex",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "regex"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
diff --git a/2024/03/rust/Cargo.toml b/2024/03/rust/Cargo.toml
new file mode 100644
index 0000000..ba499a8
--- /dev/null
+++ b/2024/03/rust/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "aoc_2024-03"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
+regex = "1.11.1"
diff --git a/2024/03/rust/src/main.rs b/2024/03/rust/src/main.rs
new file mode 100644
index 0000000..6ea29b3
--- /dev/null
+++ b/2024/03/rust/src/main.rs
@@ -0,0 +1,20 @@
+use regex::Regex;
+use std::io::{self, Read};
+
+fn main() -> io::Result<()> {
+ let mut program = String::new();
+ io::stdin().read_to_string(&mut program)?;
+
+ let re = Regex::new(r"mul\((\d{1,3}),(\d{1,3})\)").unwrap();
+
+ let silver: u64 = re
+ .captures_iter(&program)
+ .map(|c| c.extract())
+ .map(|(_, [x, y])| x.parse::<u64>().unwrap() * y.parse::<u64>().unwrap())
+ .sum();
+ let gold: u64 = 0;
+ println!("silver: {silver}");
+ println!("gold: {gold}");
+
+ return Ok(());
+}