commit 6d35f295d07ae45ffee206fdb6eae031aa21b15a
parent 8fb151b0d6771a9ad2bfdf82886c6b874aec288f
Author: Samir Parikh <noreply@samirparikh.com>
Date: Fri, 17 Dec 2021 16:28:21 +0000
complete KindergartenGarden.pm to provide working solution
Diffstat:
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/kindergarten-garden/KindergartenGarden.pm b/kindergarten-garden/KindergartenGarden.pm
@@ -2,11 +2,27 @@ package KindergartenGarden;
use strict;
use warnings;
use Exporter qw<import>;
+use Data::Dumper;
our @EXPORT_OK = qw<plants>;
sub plants {
+ # $input is a reference to a hash with two keys: diagram and student
+ # both diagram and student are scalar strings
my ($input) = @_;
- return undef;
+ my $diagram = $input->{diagram};
+ my $student = $input->{student};
+ my @rows = split /\n/, $diagram;
+ my @children = qw( Alice Bob Charlie David Eve Fred Ginny Harriet Ileana Joseph Kincaid Larry);
+ my @positions = map { $_ * 2 } (0 .. scalar(@children) - 1);
+ my %child_pos;
+ @child_pos{ @children } = @positions; # hash slice
+ my %plants = qw( G grass C clover R radishes V violets);
+ my @student_plants;
+ foreach (@rows) {
+ push @student_plants, $plants{substr($_, $child_pos{$student}, 1)};
+ push @student_plants, $plants{substr($_, $child_pos{$student} + 1, 1)};
+ }
+ return \@student_plants;
}
1;