diff options
| -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]); + |
