aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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]);
+