aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-11-23 10:37:22 +0000
committerGitHub <noreply@github.com>2023-11-23 10:37:22 +0000
commit62bbc3198640c281e4e692647fca6f18b4f53b60 (patch)
treeb802db6ee2c09f39728e537aca3f1864dbf7e9b7
parent4acbea5c7345767570019fbbb9de3282d1a7e3cf (diff)
parentcb6418d8fd91ba11f1a76c9c6f0d228cbbd1fd93 (diff)
downloadperlweeklychallenge-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.txt1
-rw-r--r--challenge-244/deadmarshal/perl/ch-1.pl13
-rw-r--r--challenge-244/deadmarshal/perl/ch-2.pl17
-rw-r--r--challenge-244/deadmarshal/raku/ch-1.raku11
-rw-r--r--challenge-244/deadmarshal/raku/ch-2.raku15
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]);
+