aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-06-04 22:36:11 +0100
committerGitHub <noreply@github.com>2023-06-04 22:36:11 +0100
commit27b599557a1a4cb031a9550f81bbcb0982e15327 (patch)
tree743f19fe16316fd23777bc2fc2661b189e7f113b
parentd493b4ed5dd10a018b8473210efdeed9a4fea224 (diff)
parent677d3708e5985dc710282b32d739359dc2160a12 (diff)
downloadperlweeklychallenge-club-27b599557a1a4cb031a9550f81bbcb0982e15327.tar.gz
perlweeklychallenge-club-27b599557a1a4cb031a9550f81bbcb0982e15327.tar.bz2
perlweeklychallenge-club-27b599557a1a4cb031a9550f81bbcb0982e15327.zip
Merge pull request #8184 from BarrOff/barroff-219
feat: add solutions for challenge 219 from BarrOff
-rw-r--r--challenge-219/barroff/perl/ch-1.pl27
-rw-r--r--challenge-219/barroff/raku/ch-1.raku30
2 files changed, 57 insertions, 0 deletions
diff --git a/challenge-219/barroff/perl/ch-1.pl b/challenge-219/barroff/perl/ch-1.pl
new file mode 100644
index 0000000000..4c5011327b
--- /dev/null
+++ b/challenge-219/barroff/perl/ch-1.pl
@@ -0,0 +1,27 @@
+#!/usr/bin/env perl
+
+use v5.36;
+use strict;
+use warnings;
+
+sub sorted_power ( $k, @numbers ) {
+ my @sn = sort { $a > $b } map( { $_**$k } @numbers );
+ return \@sn;
+}
+
+sub sorted_squares (@numbers) {
+ return sorted_power( 2, @numbers );
+}
+
+#| Run test cases
+sub MAIN() {
+ use Test2::V0 qw( is plan );
+ plan 2;
+
+ is sorted_squares( -2, -1, 0, 3, 4 ), [ 0, 1, 4, 9, 16 ],
+ "works for (-2, -1, 0, 3, 4)";
+ is sorted_squares( 5, -4, -1, 3, 6 ), [ 1, 9, 16, 25, 36 ],
+ "works for (5, -4, -1, 3, 6)";
+}
+
+MAIN();
diff --git a/challenge-219/barroff/raku/ch-1.raku b/challenge-219/barroff/raku/ch-1.raku
new file mode 100644
index 0000000000..43b7cb765a
--- /dev/null
+++ b/challenge-219/barroff/raku/ch-1.raku
@@ -0,0 +1,30 @@
+#!/usr/bin/env raku
+
+use v6.d;
+
+sub sorted-powers(Int:D @numbers where @numbers.elems ≥ 1, Int:D $n --> List) {
+ sort(map({ $_ ** $n }, @numbers)).list;
+}
+
+sub sorted-squares(Int:D @numbers --> List) {
+ sorted-powers(@numbers, 2);
+}
+
+#| Run test cases
+multi sub MAIN('test') {
+ use Test;
+ plan 2;
+
+ is sorted-squares(Array[Int:D].new((-2, -1, 0, 3, 4))),
+ (0, 1, 4, 9, 16), 'works for (-2, -1, 0, 3, 4)';
+ is sorted-squares(Array[Int:D].new((5, -4, -1, 3, 6))),
+ (1, 9, 16, 25, 36), 'works for (5, -4, -1, 3, 6)';
+}
+
+#| Take user provided list like 1 2 3
+multi sub MAIN(*@numbers where @numbers.elems ≥ 1) {
+ my Int @int-numbers = @numbers;
+ say sorted-squares(@int-numbers);
+}
+
+