diff --git a/day01.pl b/day01.pl new file mode 100644 index 0000000..8d6ec4d --- /dev/null +++ b/day01.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +my @list1; +my @list2; + +while (<>) { + my @nums = split; + next unless @nums; + push @list1, $nums[0]; + push @list2, $nums[1]; +} + +@list1 = sort { $a <=> $b } @list1; +@list2 = sort { $a <=> $b } @list2; + +my $elementwise_diff = 0; +for (my $i = 0; $i < @list1; $i++) { + my $diff = abs($list1[$i] - $list2[$i]); + $elementwise_diff += $diff; +} + +print $elementwise_diff . "\n"; + +my $similarity_score = 0; +for my $element (@list1) { + $similarity_score += $element * grep { $_ == $element } @list2; +} + +print $similarity_score . "\n";