summary refs log tree commit diff homepage
path: root/2021/day10.pl
blob: e35db27c6a3f0b7202d1cba3dbe556282282a2ef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use strict;
use warnings;
my %pairs = ('(', ')', '[', ']', '{', '}', '<', '>');
my %scores = (')' => 3, ']' => 57, '}' => 1197, '>' => 25137);
my ($score, @scores2);
LINE: while (<>) {
	chomp;
	my @stack;
	for (split //) {
		if (index('([{<', $_) != -1) {
			unshift @stack, $pairs{$_};
		} elsif ($_ eq $stack[0]) {
			shift @stack;
		} else {
			$score += $scores{$_};
			next LINE;
		}
	}
	next unless @stack;
	my $score2 = 0;
	$score2 = $score2 * 5 + 1 + index(')]}>', $_) for @stack;
	push @scores2, $score2;
}
print "$score\n";
@scores2 = sort { $a <=> $b } @scores2;
print $scores2[@scores2 / 2], "\n";
14e75bd079ad8df31ca4f39197519386&follow=1'>Handle RPL_AWAYJune McEnroe 2020-02-11Support monochromatic terminalsJune McEnroe 2020-02-11Add .gz to chroot-man scriptJune McEnroe 2020-02-11Add -R restricted flagJune McEnroe 2020-02-11Add chroot targetJune McEnroe 2020-02-11Exit focus and paste modes on err exitJune McEnroe 2020-02-11Add startup GPLv3 note and URLJune McEnroe 2020-02-11Make sure -D_GNU_SOURCE ends up in CFLAGS on LinuxJune McEnroe 2020-02-11Add note about setting PKG_CONFIG_PATHJune McEnroe 2020-02-11Rename query ID on nick changeJune McEnroe 2020-02-11Call completeClear when closing a windowJune McEnroe 2020-02-11Don't insert color codes for non-mentionsJune McEnroe 2020-02-11Take first two words in colorMentionsJune McEnroe 2020-02-11Use time_t for save signatureJune McEnroe 2020-02-11Set self.nick to * initiallyJune McEnroe 2020-02-11Define ColorCap instead of hardcoding 100June McEnroe 2020-02-11Move hash to top of chat.hJune McEnroe 2020-02-11Move base64 out of chat.hJune McEnroe 2020-02-11Move XDG_SUBDIR out of chat.hJune McEnroe 2020-02-11Fix whois idle unit calculationJune McEnroe 2020-02-11Cast towupper to wchar_tJune McEnroe 2020-02-11Cast set but unused variables to voidJune McEnroe 2020-02-11Declare strlcatJune McEnroe 2020-02-11Check if VDSUSP existsJune McEnroe 2020-02-11Fix completeReplace iterationJune McEnroe 2020-02-11Use pkg(8) to configure on FreeBSDJune McEnroe 2020-02-11Remove legacy codeJune McEnroe 2020-02-11Add INSTALLING section to READMEJune McEnroe