diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2023-01-01 23:12:48 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-01 23:12:48 +0000 |
| commit | 56ea8858e37878adeaf4f8a2a7835d7bc4607b8d (patch) | |
| tree | 8d4662cf55e06a8af4a39ec8fd6c53396e7da629 /challenge-197 | |
| parent | 1bf0af88b12558a237b14dc0cbdf5eef7cedf1c2 (diff) | |
| parent | 5e5d9bdd0315c1e6478e91930e6c6726a1f55793 (diff) | |
| download | perlweeklychallenge-club-56ea8858e37878adeaf4f8a2a7835d7bc4607b8d.tar.gz perlweeklychallenge-club-56ea8858e37878adeaf4f8a2a7835d7bc4607b8d.tar.bz2 perlweeklychallenge-club-56ea8858e37878adeaf4f8a2a7835d7bc4607b8d.zip | |
Merge pull request #7333 from wambash/challenge-week-197
solutions week 197
Diffstat (limited to 'challenge-197')
| -rw-r--r-- | challenge-197/wambash/raku/ch-1.raku | 20 | ||||
| -rw-r--r-- | challenge-197/wambash/raku/ch-2.raku | 21 |
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-197/wambash/raku/ch-1.raku b/challenge-197/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..b5bf3924a2 --- /dev/null +++ b/challenge-197/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub move-zero (+@list) { + @list + andthen .classify: * == 0 + andthen .sort + andthen .map: |*.value +} + +multi MAIN (Bool :test($)!) { + use Test; + is move-zero(1, 0, 3, 0, 0, 5),(1, 3, 5, 0, 0, 0); + is move-zero(1, 6, 4), (1, 6, 4); + is move-zero(0, 1, 0, 2, 0), (1, 2, 0, 0, 0); + done-testing; +} + +multi MAIN (*@list) { + put move-zero @list +} diff --git a/challenge-197/wambash/raku/ch-2.raku b/challenge-197/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..dc59049a1c --- /dev/null +++ b/challenge-197/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub wiggle-sort (+@list) { + @list + andthen .sort + andthen .reverse + andthen roundrobin .[((.elems div 2) .. *),^(.elems div 2) ], :slip +} + +multi MAIN (Bool :test($)!) { + use Test; + is wiggle-sort(1,5,1,1,6,4), (1,6,1,5,1,4); + is wiggle-sort(1,3,2,2,3,1), (2,3,1,3,1,2); + todo 'doesn\'t work for some list with odd number of elemnts'; + is wiggle-sort(1,5,5), (5,1,5); + done-testing; +} + +multi MAIN (*@list) { + put wiggle-sort @list +} |
