diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-11-12 18:18:55 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-12 18:18:55 +0000 |
| commit | 90f9ea164af4ef6999a417a1208efdba29bd629f (patch) | |
| tree | ec263abf42c71c0f6bb2c837039eebc6dc0445fe | |
| parent | aba93905136c1e2f1f010f52be16da259b452ddd (diff) | |
| parent | fe091476898d596d995afa255cebd0230fdb4678 (diff) | |
| download | perlweeklychallenge-club-90f9ea164af4ef6999a417a1208efdba29bd629f.tar.gz perlweeklychallenge-club-90f9ea164af4ef6999a417a1208efdba29bd629f.tar.bz2 perlweeklychallenge-club-90f9ea164af4ef6999a417a1208efdba29bd629f.zip | |
Merge pull request #9044 from augiedb/branch-for-challenge-242
Challenge 242 submission for Challenge 1
| -rw-r--r-- | challenge-242/augiedb/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-242/augiedb/perl/ch-1.pl | 56 |
2 files changed, 57 insertions, 0 deletions
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; +} |
