diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-06-04 22:36:11 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-04 22:36:11 +0100 |
| commit | 27b599557a1a4cb031a9550f81bbcb0982e15327 (patch) | |
| tree | 743f19fe16316fd23777bc2fc2661b189e7f113b | |
| parent | d493b4ed5dd10a018b8473210efdeed9a4fea224 (diff) | |
| parent | 677d3708e5985dc710282b32d739359dc2160a12 (diff) | |
| download | perlweeklychallenge-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.pl | 27 | ||||
| -rw-r--r-- | challenge-219/barroff/raku/ch-1.raku | 30 |
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); +} + + |
