summary refs log tree commit diff homepage
path: root/2021/day03.pl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2021/day03.pl17
1 files changed, 17 insertions, 0 deletions
diff --git a/2021/day03.pl b/2021/day03.pl
new file mode 100644
index 0000000..8a62021
--- /dev/null
+++ b/2021/day03.pl
@@ -0,0 +1,17 @@
+use strict;
+use warnings;
+my @nums;
+while (<>) {
+	chomp;
+	push @nums, oct("0b".$_);
+}
+my $gamma = 0;
+for (my $i = 0; $i < 12; $i++) {
+	my $ones = 0;
+	foreach (@nums) {
+		$ones++ if $_ & (1 << $i);
+	}
+	$gamma |= 1 << $i if $ones > @nums / 2;
+}
+my $epsilon = ~$gamma & 0xFFF;
+print $gamma * $epsilon, "\n";
Simplify transpose swapJune McEnroe 2020-02-12Add C-t transposeJune McEnroe 2020-02-12Add C-v and M-vJune McEnroe 2020-02-12Allow for arguments to open/copy utilitiesJune McEnroe 2020-02-12Handle 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