Complete day 1.
This commit is contained in:
parent
85f5e44fff
commit
ec64f17576
1 changed files with 32 additions and 0 deletions
32
day01.pl
Normal file
32
day01.pl
Normal file
|
@ -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";
|
Loading…
Add table
Add a link
Reference in a new issue