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 | b04cc6fce432aeec7400e4dcf612d0468cc4d2d3 (patch) | |
| tree | 46c0e3d91281341adc4cbff5c323319f7ec2784b | |
| parent | Solve day 9 part 2 (diff) | |
| download | aoc-b04cc6fce432aeec7400e4dcf612d0468cc4d2d3.tar.gz aoc-b04cc6fce432aeec7400e4dcf612d0468cc4d2d3.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"; |