Skip to content

Commit b532f01

Browse files
committed
cleanup day 3
1 parent 73cc05a commit b532f01

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ Solutions for [Advent of Code](https://adventofcode.com/) in [Rust](https://www.
1313
| :---: | :---: | :---: |
1414
| [Day 1](./src/bin/01.rs) | `66.9µs` | `82.5µs` |
1515
| [Day 2](./src/bin/02.rs) | `128.2µs` | `224.5µs` |
16-
| [Day 3](./src/bin/03.rs) | `688.6µs` | `810.4µs` |
16+
| [Day 3](./src/bin/03.rs) | `717.8µs` | `830.1µs` |
1717

18-
**Total: 2.00ms**
18+
**Total: 2.05ms**
1919
<!--- benchmarking table --->
2020

2121
---

src/bin/03.rs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ pub fn part_one(input: &str) -> Option<u32> {
77
let sum = regex
88
.captures_iter(input)
99
.map(|captures| {
10-
let x = &captures["x"].parse::<u32>().unwrap();
11-
let y = &captures["y"].parse::<u32>().unwrap();
10+
let x = captures["x"].parse::<u32>().unwrap();
11+
let y = captures["y"].parse::<u32>().unwrap();
1212
x * y
1313
})
1414
.sum();
@@ -20,18 +20,16 @@ pub fn part_two(input: &str) -> Option<u32> {
2020
Regex::new(r"((?P<op>do\(\)|don't\(\))|(mul\((?P<x>\d{1,3}),(?P<y>\d{1,3})\)))").unwrap();
2121
let (_, sum) = regex
2222
.captures_iter(input)
23-
.fold((true, 0), |(on, sum), captures| {
23+
.fold((true, 0), |(enabled, sum), captures| {
2424
if let Some(op) = captures.name("op") {
25-
if op.as_str() == "don't()" {
26-
(false, sum)
27-
} else if op.as_str() == "do()" {
28-
(true, sum)
29-
} else {
30-
panic!("Unknown op: {}", op.as_str());
25+
match op.as_str() {
26+
"don't()" => (false, sum),
27+
"do()" => (true, sum),
28+
_ => panic!("Unknown operation: {}", op.as_str()),
3129
}
32-
} else if on {
33-
let x = &captures["x"].parse::<u32>().unwrap();
34-
let y = &captures["y"].parse::<u32>().unwrap();
30+
} else if enabled {
31+
let x = captures["x"].parse::<u32>().unwrap();
32+
let y = captures["y"].parse::<u32>().unwrap();
3533
(true, sum + x * y)
3634
} else {
3735
(false, sum)

0 commit comments

Comments
 (0)