diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-11-15 21:17:14 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-15 21:17:14 +0000 |
| commit | 1d0312c6810b4d3841e63950f91c6b502b9e9039 (patch) | |
| tree | 38dda43914499404dd76180fd0d6a1e2fa1fc380 /challenge-242 | |
| parent | 228f23798918d2d8cf50fdfb0aa25231a2f917fd (diff) | |
| parent | 567a6451c2aa6fc0a89c71017e162aa33d920af0 (diff) | |
| download | perlweeklychallenge-club-1d0312c6810b4d3841e63950f91c6b502b9e9039.tar.gz perlweeklychallenge-club-1d0312c6810b4d3841e63950f91c6b502b9e9039.tar.bz2 perlweeklychallenge-club-1d0312c6810b4d3841e63950f91c6b502b9e9039.zip | |
Merge pull request #9070 from jaldhar/challenge-242
Challenge 242 by Jaldhar H. Vyas.
Diffstat (limited to 'challenge-242')
| -rw-r--r-- | challenge-242/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-242/jaldhar-h-vyas/perl/ch-1.pl | 32 | ||||
| -rwxr-xr-x | challenge-242/jaldhar-h-vyas/perl/ch-2.pl | 8 | ||||
| -rwxr-xr-x | challenge-242/jaldhar-h-vyas/raku/ch-1.raku | 19 | ||||
| -rwxr-xr-x | challenge-242/jaldhar-h-vyas/raku/ch-2.raku | 10 |
5 files changed, 70 insertions, 0 deletions
diff --git a/challenge-242/jaldhar-h-vyas/blog.txt b/challenge-242/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..bad309f0c4 --- /dev/null +++ b/challenge-242/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2023/11/perl_weekly_challenge_week_242.html diff --git a/challenge-242/jaldhar-h-vyas/perl/ch-1.pl b/challenge-242/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..150b04ab72 --- /dev/null +++ b/challenge-242/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl +use warnings; +use 5.030; + +sub setDifference { + my ($arr1, $arr2) = @_; + my %difference = map { $_ => 0 } @{$arr1}; + + for my $elem (@{$arr2}) { + if (exists $difference{$elem}) { + $difference{$elem}++; + } + } + + return sort grep { !$difference{$_} } keys %difference; +} + + +my ($arg1, $arg2) = @ARGV; + +my @arr1 = split q{ }, $arg1; +my @arr2 = split q{ }, $arg2; + +say q{(}, + ( + join q{, }, map { q{[} . ( join q{, }, $_ ) . q{]} } grep { length $_ } + ( + ( join q{, }, setDifference(\@arr1, \@arr2) ), + ( join q{, }, setDifference(\@arr2, \@arr1) ), + ) + ), +q{)}; diff --git a/challenge-242/jaldhar-h-vyas/perl/ch-2.pl b/challenge-242/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..1f58321076 --- /dev/null +++ b/challenge-242/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,8 @@ +#!/usr/bin/perl +use 5.020; +use warnings; + +my @matrix; +push @matrix, map { [split q{ }, $_] } @ARGV; +@matrix = map { [ map { $_ ^ 1 } reverse @{$_} ] } @matrix; +say q{(} . (join q{, }, map { q{[} . (join q{, }, @{$_}) . q{]} } @matrix) . q{)}; diff --git a/challenge-242/jaldhar-h-vyas/raku/ch-1.raku b/challenge-242/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..d81763d855 --- /dev/null +++ b/challenge-242/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/raku + +sub MAIN( + Str $arg1, + Str $arg2 +){ + my @arr1 = $arg1.split(q{ }); + my @arr2 = $arg2.split(q{ }); + + say q{(}, + ( + (@arr1 ∖ @arr2).keys.sort.join(q{, }), + (@arr2 ∖ @arr1).keys.sort.join(q{, }) + ) + .grep({ .chars }) + .map({ q{[} ~ $_.join(q{, }) ~ q{]} }) + .join(q{, }), + q{)}; +}
\ No newline at end of file diff --git a/challenge-242/jaldhar-h-vyas/raku/ch-2.raku b/challenge-242/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..6f45993014 --- /dev/null +++ b/challenge-242/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,10 @@ +#!/usr/bin/raku + +sub MAIN( + *@args +) { + my @matrix; + @matrix.push(| @args.map({ $_.split(q{ }).map({ $_.Int }) }) ); + @matrix = @matrix.map({ $_.reverse.map({ (!$_).Int }) }); + say q{(} ~ @matrix.map({ q{[} ~ $_.join(q{, }) ~ q{]} }).join(q{, }) ~ q{)}; +}
\ No newline at end of file |
