diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-06-24 23:30:13 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-24 23:30:13 +0100 |
| commit | 85d39f2fc722611afa6cdcb2751444226288e536 (patch) | |
| tree | 59af36e8f6261920389c4248deb4fd112a3ba966 /challenge-327 | |
| parent | 129efeec865de25f04cc44cfacdc657b31d034ed (diff) | |
| parent | 8bf0962ce81eb91f96c8f7e78882f881cfc31259 (diff) | |
| download | perlweeklychallenge-club-85d39f2fc722611afa6cdcb2751444226288e536.tar.gz perlweeklychallenge-club-85d39f2fc722611afa6cdcb2751444226288e536.tar.bz2 perlweeklychallenge-club-85d39f2fc722611afa6cdcb2751444226288e536.zip | |
Merge pull request #12224 from seaker/master
challenge 327, raku solutions
Diffstat (limited to 'challenge-327')
| -rwxr-xr-x | challenge-327/feng-chang/raku/ch-1.raku | 5 | ||||
| -rwxr-xr-x | challenge-327/feng-chang/raku/ch-2.raku | 7 | ||||
| -rwxr-xr-x | challenge-327/feng-chang/raku/test.raku | 24 |
3 files changed, 36 insertions, 0 deletions
diff --git a/challenge-327/feng-chang/raku/ch-1.raku b/challenge-327/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..9f97b21c9f --- /dev/null +++ b/challenge-327/feng-chang/raku/ch-1.raku @@ -0,0 +1,5 @@ +#!/bin/env raku + +unit sub MAIN(*@ints); + +put ((1..+@ints) (-) +«@ints).keys.sort; diff --git a/challenge-327/feng-chang/raku/ch-2.raku b/challenge-327/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..2e47ca8804 --- /dev/null +++ b/challenge-327/feng-chang/raku/ch-2.raku @@ -0,0 +1,7 @@ +#!/bin/env raku + +unit sub MAIN(*@ints); + +@ints .= sort; +my $min-diff = @ints.rotor(2 => -1).map({ -[-] $_ }).min; +put @ints.rotor(2 => -1).map({ "[{.join(',')}]" if (-[-] $_) == $min-diff }).join(', '); diff --git a/challenge-327/feng-chang/raku/test.raku b/challenge-327/feng-chang/raku/test.raku new file mode 100755 index 0000000000..9520ed7c6a --- /dev/null +++ b/challenge-327/feng-chang/raku/test.raku @@ -0,0 +1,24 @@ +#!/bin/env raku + +# The Weekly Challenge 327 +use Test; + +sub pwc-test(Str:D $script, Bool :$deeply? = False, *@input) { + my ($expect, $assertion) = @input.splice(*-2, 2); + my $p = run $script, |@input, :out; + if $deeply { + is-deeply $p.out.slurp(:close).chomp.words.Bag, $expect, $assertion; + } else { + is $p.out.slurp(:close).chomp, $expect, $assertion; + } +} + +# Task 1, Missing Integers +pwc-test './ch-1.raku', <1 2 1 3 2 5>, '4 6', 'Missing Integers: (1,2,1,3,2,5) => (4,6)'; +pwc-test './ch-1.raku', <1 1 1>, '2 3', 'Missing Integers: (1,1,1) => (2,3)'; +pwc-test './ch-1.raku', <2 2 1>, '3', 'Missing Integers: (2,2,1) => (3)'; + +# Task 2, MAD +pwc-test './ch-2.raku', <4 1 2 3>, '[1,2], [2,3], [3,4]', 'MAD: (4,1,2,3) => [1,2],[2,3],[3,4]'; +pwc-test './ch-2.raku', <1 3 7 11 15>, '[1,3]', 'MAD: (1,3,7,11,15) => [1,3]'; +pwc-test './ch-2.raku', <1 5 3 8>, '[1,3], [3,5]', 'MAD: (1,5,3,8) => [1,3], [3,5]'; |
