Day 12 part 1.
This commit is contained in:
45
Cargo.lock
generated
45
Cargo.lock
generated
@@ -8,6 +8,16 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"aoc-runner",
|
||||
"aoc-runner-derive",
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -45,6 +55,12 @@ version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "0.4.21"
|
||||
@@ -81,6 +97,35 @@ dependencies = [
|
||||
"proc-macro2 1.0.47",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "0.2.7"
|
||||
|
||||
@@ -9,4 +9,5 @@ bench = false
|
||||
|
||||
[dependencies]
|
||||
aoc-runner = "0.3.0"
|
||||
aoc-runner-derive = "0.3.0"
|
||||
aoc-runner-derive = "0.3.0"
|
||||
regex = "1.10.2"
|
||||
24
src/day12.rs
Normal file
24
src/day12.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
use aoc_runner_derive::aoc;
|
||||
use regex::Regex;
|
||||
|
||||
#[aoc(day12, part1)]
|
||||
fn part1(input: &str) -> i64 {
|
||||
Regex::new(r"-?\d+")
|
||||
.unwrap()
|
||||
.find_iter(input)
|
||||
.map(|m| m.as_str().parse::<i64>().unwrap())
|
||||
.sum()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn part1_example() {
|
||||
assert_eq!(part1("[1,2,3]"), 6);
|
||||
assert_eq!(part1("{\"a\":2,\"b\":4}"), 6);
|
||||
assert_eq!(part1(r"[[[3]]]"), 3);
|
||||
assert_eq!(part1(r#"{"a":{"b":4},"c":-1}"#), 3);
|
||||
}
|
||||
}
|
||||
@@ -4,5 +4,6 @@ extern crate aoc_runner_derive;
|
||||
|
||||
mod day10;
|
||||
mod day11;
|
||||
mod day12;
|
||||
|
||||
aoc_lib! { year = 2015 }
|
||||
|
||||
Reference in New Issue
Block a user