aoc2021

Advent of Code 2021 solutions in Perl.
git clone git://git.samirparikh.com/aoc2021
Log | Files | Refs | README

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:
Mday06-1.pl | 28+++++++++++++++++++++-------
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;