diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-11-23 10:37:22 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-23 10:37:22 +0000 |
| commit | 62bbc3198640c281e4e692647fca6f18b4f53b60 (patch) | |
| tree | b802db6ee2c09f39728e537aca3f1864dbf7e9b7 | |
| parent | 4acbea5c7345767570019fbbb9de3282d1a7e3cf (diff) | |
| parent | cb6418d8fd91ba11f1a76c9c6f0d228cbbd1fd93 (diff) | |
| download | perlweeklychallenge-club-62bbc3198640c281e4e692647fca6f18b4f53b60.tar.gz perlweeklychallenge-club-62bbc3198640c281e4e692647fca6f18b4f53b60.tar.bz2 perlweeklychallenge-club-62bbc3198640c281e4e692647fca6f18b4f53b60.zip | |
Merge pull request #9120 from deadmarshal/TWC244
TWC244
| -rw-r--r-- | challenge-244/deadmarshal/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-244/deadmarshal/perl/ch-1.pl | 13 | ||||
| -rw-r--r-- | challenge-244/deadmarshal/perl/ch-2.pl | 17 | ||||
| -rw-r--r-- | challenge-244/deadmarshal/raku/ch-1.raku | 11 | ||||
| -rw-r--r-- | challenge-244/deadmarshal/raku/ch-2.raku | 15 |
5 files changed, 57 insertions, 0 deletions
diff --git a/challenge-244/deadmarshal/blog.txt b/challenge-244/deadmarshal/blog.txt new file mode 100644 index 0000000000..8daf832fc0 --- /dev/null +++ b/challenge-244/deadmarshal/blog.txt @@ -0,0 +1 @@ +https://deadmarshal.blogspot.com/2023/11/twc244.html diff --git a/challenge-244/deadmarshal/perl/ch-1.pl b/challenge-244/deadmarshal/perl/ch-1.pl new file mode 100644 index 0000000000..42febe17b7 --- /dev/null +++ b/challenge-244/deadmarshal/perl/ch-1.pl @@ -0,0 +1,13 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +sub count_smaller{ + my ($arr) = @_; + map{my $e = $_;scalar grep{$_ < $e}@$arr}@$arr; +} + +printf "(%s)\n",join ',',count_smaller([8,1,2,2,3]); +printf "(%s)\n",join ',',count_smaller([6,5,4,8]); +printf "(%s)\n",join ',',count_smaller([2,2,2]); + diff --git a/challenge-244/deadmarshal/perl/ch-2.pl b/challenge-244/deadmarshal/perl/ch-2.pl new file mode 100644 index 0000000000..c2f609200f --- /dev/null +++ b/challenge-244/deadmarshal/perl/ch-2.pl @@ -0,0 +1,17 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use List::Util qw(min max); +use Algorithm::Combinatorics qw(subsets); + +sub group_hero{ + my $sum = 0; + my $it = subsets($_[0]); + while(my $c = $it->next){ + $sum += (max(@$c) ** 2) * min(@$c) if @$c; + } + $sum +} + +printf "%d\n", group_hero([2,1,4]); + diff --git a/challenge-244/deadmarshal/raku/ch-1.raku b/challenge-244/deadmarshal/raku/ch-1.raku new file mode 100644 index 0000000000..01f71c7968 --- /dev/null +++ b/challenge-244/deadmarshal/raku/ch-1.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku + +sub count-smaller(@arr) +{ + @arr.map: {my $e = $_; (@arr.grep: {$_ < $e}).elems} +} + +say count-smaller([8,1,2,2,3]); +say count-smaller([6,5,4,8]); +say count-smaller([2,2,2]); + diff --git a/challenge-244/deadmarshal/raku/ch-2.raku b/challenge-244/deadmarshal/raku/ch-2.raku new file mode 100644 index 0000000000..08d963d1c4 --- /dev/null +++ b/challenge-244/deadmarshal/raku/ch-2.raku @@ -0,0 +1,15 @@ +#!/usr/bin/env raku + +sub group-hero(@arr) +{ + my $sum = 0; + for @arr.combinations + { + next unless .elems; + $sum += (.max ** 2) * .min; + } + $sum +} + +say group-hero([2,1,4]); + |
