commit 61ec72d02e8a904278b0e8dc028d14d261dad040
parent c2d924194149964c6d3a855d43f7bf3863f92ce4
Author: Samir Parikh <noreply@samirparikh.com>
Date: Fri, 17 Dec 2021 18:59:26 +0000
update day06-1.pl to provide working solution to Day 06 Part 1
Diffstat:
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/day06-1.pl b/day06-1.pl
@@ -4,6 +4,7 @@ use strict;
use warnings;
use v5.22;
use Data::Dumper;
+use List::Util qw(sum);
sub get_filehandle {
if (@ARGV !=1) {
@@ -25,15 +26,28 @@ sub get_numbers {
# initialize variables
my $filehandle = get_filehandle();
my @numbers = get_numbers($filehandle);
-say "@numbers";
+#say "@numbers";
# initialize fish timer
my %fish_timer = map { $_, 0 } (0 .. 8);
$fish_timer{$_}++ foreach (@numbers);
-print Dumper (\%fish_timer);
-for (my $i = 0; $i < 2; $i++) {
- say "day ", $i+1;
- my %tmp_timer = %fish_timer;
- foreach my $age (reverse 0 .. 8) {
- say "age is $age";
+#print Dumper (\%fish_timer);
+for (my $i = 0; $i < 80; $i++) { # loop for number of days
+ #say "day ", $i+1;
+ my %tmp_timer = ();
+ foreach my $age (reverse 1 .. 8) { # loop for each age
+ #say "age is $age";
+ $tmp_timer{$age - 1} = $fish_timer{$age};
}
+ # process fish with timer of 0
+ $tmp_timer{6} += $fish_timer{0};
+ $tmp_timer{8} += $fish_timer{0};
+ %fish_timer = %tmp_timer;
+ #say "after day ", $i + 1, ":";
+ #for (0 .. 8) {
+ #say "there are $fish_timer{$_} fish at timer $_";
+ #}
+ #say "after day ", $i+1, " there are ", sum( values %fish_timer), " fish";
}
+
+my $total_fish = sum values %fish_timer;
+say $total_fish;