From fe091476898d596d995afa255cebd0230fdb4678 Mon Sep 17 00:00:00 2001 From: Augie De Blieck Jr Date: Sun, 12 Nov 2023 09:46:41 -0500 Subject: Challenge 242 submission for Challenge 1 --- challenge-242/augiedb/blog.txt | 1 + challenge-242/augiedb/perl/ch-1.pl | 56 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 challenge-242/augiedb/blog.txt create mode 100644 challenge-242/augiedb/perl/ch-1.pl diff --git a/challenge-242/augiedb/blog.txt b/challenge-242/augiedb/blog.txt new file mode 100644 index 0000000000..079bfbb8c8 --- /dev/null +++ b/challenge-242/augiedb/blog.txt @@ -0,0 +1 @@ +https://variousandsundry.com/missing-members-the-live-blog/ diff --git a/challenge-242/augiedb/perl/ch-1.pl b/challenge-242/augiedb/perl/ch-1.pl new file mode 100644 index 0000000000..d9c145e383 --- /dev/null +++ b/challenge-242/augiedb/perl/ch-1.pl @@ -0,0 +1,56 @@ +use strict; +use warnings; + +my @arr1 = (1,2,3); +my @arr2 = (2,4,6); +find_missing_members( \@arr1, \@arr2 ); +find_missing_members( \@arr2, \@arr1 ); + +@arr1 = (1, 2, 3, 3); +@arr2 = (1, 1, 2, 2); +find_missing_members( \@arr1, \@arr2 ); +find_missing_members( \@arr2, \@arr1 ); + +sub find_missing_members { + + my @arr1 = @{ shift() }; + my @arr2 = @{ shift() }; + + my @missing_from_second; + my %second_values; + + map{ $second_values{$_} = 1; } @arr2; + + @missing_from_second = grep{ + !$second_values{$_}; + } @arr1; + + print pretty_print_array(@arr1); + print " has "; + print scalar( @missing_from_second ) . " members "; + print pretty_print_array(@missing_from_second); + print " missing in the array "; + print pretty_print_array(@arr2) , "\n"; +} + +## Re-using this code so often that I should +## probably make it a module. + +sub pretty_print_array { + + my @array = @_; + my $length = scalar @array; + my $count = 1; + + print "("; + + foreach my $value(@array) { + print $value; + print ", " if $count < $length; + $count++; + } + + print ")"; + + return; +} -- cgit