Add 2024 day 3
Diff
README | 4 ++--
2024/03.pl | 24 ++++++++++++++++++++++++
2 files changed, 26 insertions(+), 2 deletions(-)
@@ -16,8 +16,8 @@
+----------+----------+ +----------+----------+ +----------+----------+
| 1 | Rust | | 1 | Haskell | | 1 | Fortran |
| 2 | OCaml | | 2 | Haskell | | 2 | Nix |
+---------------------+ | 3 | Haskell | | 3 | Clojure |
| 4 | Haskell | | 4 | Jsonnet |
| 3 | Perl | | 3 | Haskell | | 3 | Clojure |
+---------------------+ | 4 | Haskell | | 4 | Jsonnet |
| 5 | Rust | | 5 | HCL/TF |
| 6 | Haskell | | 6 | Apache2 |
| 7 | Haskell | +---------------------+
@@ -1,0 +1,24 @@
$\ = "\n";
$active = 1;
$part1Acc = 0;
$part2Acc = 0;
while ($input = <>) {
while ($input =~ /(do\(\)|don't\(\)|mul\((\d{1,3}),(\d{1,3})\))/g) {
if ($1 eq 'do()') {
$active = 1;
} elsif ($1 eq 'don\'t()') {
$active = 0;
} elsif ($active) {
$part2Acc += $2 * $3;
}
$part1Acc += $2 * $3;
}
}
print $part1Acc;
print $part2Acc;