]> www.fi.muni.cz Git - aoc.git/blobdiff - 2021/20.pl
Moved 2021 to a subdir
[aoc.git] / 2021 / 20.pl
diff --git a/2021/20.pl b/2021/20.pl
new file mode 100755 (executable)
index 0000000..30f517f
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/perl -w
+
+use v5.16;
+
+my %score_of = (
+       '(' => 1,
+       '[' => 2,
+       '{' => 3,
+       '<' => 4,
+);
+
+my @sums;
+while (<>) {
+       chomp;
+       my $sum = 0;
+       1 while s/\(\)|\[\]|\{\}|\<\>//;
+        next if /[\)\]\}\>]/;
+       next if !length;
+       for my $c (reverse split //) {
+               $sum *= 5;
+               $sum += $score_of{$c};
+       }
+       push @sums, $sum;
+}
+
+@sums = sort { $a <=> $b } @sums;
+say $sums[@sums/2];
+