diff options
author | June McEnroe <june@causal.agency> | 2021-12-10 11:36:45 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2021-12-10 11:36:45 -0500 |
commit | d32d7daa368684f36ee8eb1c13c0c8c996ee5f8c (patch) | |
tree | 0d6552c56e2de3d24d035d7cef56dda4fd0b9441 | |
parent | Solve day 9 part 2 (diff) | |
download | aoc-d32d7daa368684f36ee8eb1c13c0c8c996ee5f8c.tar.gz aoc-d32d7daa368684f36ee8eb1c13c0c8c996ee5f8c.zip |
Solve day 10 part 1
-rw-r--r-- | 2021/day10.pl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/2021/day10.pl b/2021/day10.pl new file mode 100644 index 0000000..871ad0b --- /dev/null +++ b/2021/day10.pl @@ -0,0 +1,20 @@ +use strict; +use warnings; +my %pairs = ('(', ')', '[', ']', '{', '}', '<', '>'); +my %scores = (')' => 3, ']' => 57, '}' => 1197, '>' => 25137); +my $score; +while (<>) { + chomp; + my @stack; + for (split //) { + if (index('([{<', $_) != -1) { + unshift @stack, $pairs{$_}; + } elsif ($_ eq $stack[0]) { + shift @stack; + } else { + $score += $scores{$_}; + last; + } + } +} +print "$score\n"; |