summary refs log tree commit diff homepage
path: root/2021
diff options
context:
space:
mode:
Diffstat (limited to '2021')
-rw-r--r--2021/day10.pl20
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";
='2019-07-01 00:06:09 -0400'>2019-07-01Use env.sh as 1sh todo listJune McEnroe 2019-06-29Clean up 1sh prompt settingJune McEnroe 2019-06-29Add Parable of the TalentsJune McEnroe 2019-06-28Rename catsh to 1shJune McEnroe Yes it's another rename because I felt like catsh was too long. 1sh is short and unique. 2019-06-28Set HISTSIZE in catshJune McEnroe 2019-06-28Unset iflag when exiting catshJune McEnroe It saves history! It's usable! 2019-06-24Consolidate catsh history documentationJune McEnroe 2019-06-19Set LESS=FRXJune McEnroe This is how git invokes less by default. I think I want this everywhere. This allows color, exits if the input fits on one screen, and doesn't clear the screen. 2019-06-16Alias date=ddateJune McEnroe Will I regret this? 2019-06-15Set sensitivity by slot in TF2June McEnroe 2019-06-15Add AcceptanceJune McEnroe 2019-06-07Add variables to bitJune McEnroe 2019-06-05Add A Closed and Common OrbitJune McEnroe 2019-06-02Add RebornJune McEnroe 2019-05-30Add bit to bin.7June McEnroe 2019-05-30Simplify and build bitJune McEnroe lex is a waste of time. 2019-05-29Add xx -p optionJune McEnroe 2019-05-27Add FrontierJune McEnroe 2019-05-27Break nicks with ZWNJJune McEnroe This should prevent bad wrapping. 2019-05-26Add DawnJune McEnroe 2019-05-20Declare vasprintf(3) for GNUJune McEnroe who the fuck is scraeming "#define _GNU_SOURCE" at my house. show yourself, coward. i will never #define _GNU_SOURCE 2019-05-20Fix comparison warning in ttpreJune McEnroe 2019-05-20Add AuthorityJune McEnroe 2019-05-19Specify precedence of unary versions of operatorsJune McEnroe 2019-05-18Add compound assignment operators to orderJune McEnroe 2019-05-15Support simple assignment in orderJune McEnroe 2019-05-15Implement sizeof in orderJune McEnroe 2019-05-15Add orderJune McEnroe 2019-05-12Add T suffix in bitJune McEnroe 2019-05-10Highlight yacc and lex files as CJune McEnroe Their %-prefixed directives should probably be highlighted Macro. 2019-05-10Use val instead of suboptargJune McEnroe suboptarg doesn't exist in GNU. Hopefully BSD getsubopt also sets val on failure? 2019-05-09Add Parable of the SowerJune McEnroe 2019-05-07Add bit without buildJune McEnroe Need to do some stuff in the Makefile for lex and yacc and generating HTML pages for it. 2019-05-04Fix MANDIR typoJune McEnroe 2019-05-04Move relay to binJune McEnroe