diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2023-04-24 01:03:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-24 01:03:29 +0100 |
| commit | 8ad690e7e49103dad0464ef5af2c313801cfbc19 (patch) | |
| tree | 21a4629d75d49526f563b3f561167481dafba12e | |
| parent | acacb42d46a7c67c2643241a5ee18c3f2eb644dd (diff) | |
| parent | d81c49ecaa7ae84e9642c5941bf3cf4fb19fe49b (diff) | |
| download | perlweeklychallenge-club-8ad690e7e49103dad0464ef5af2c313801cfbc19.tar.gz perlweeklychallenge-club-8ad690e7e49103dad0464ef5af2c313801cfbc19.tar.bz2 perlweeklychallenge-club-8ad690e7e49103dad0464ef5af2c313801cfbc19.zip | |
Merge pull request #7961 from BarrOff/barroff-213
feat: add solutions for challenge 213 from BarrOff
| -rw-r--r-- | challenge-213/barroff/gp/ch-1.gp | 27 | ||||
| -rw-r--r-- | challenge-213/barroff/raku/ch-1.raku | 20 |
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-213/barroff/gp/ch-1.gp b/challenge-213/barroff/gp/ch-1.gp new file mode 100644 index 0000000000..f19241a3be --- /dev/null +++ b/challenge-213/barroff/gp/ch-1.gp @@ -0,0 +1,27 @@ +split_even_odd(l) = +{ + my(evens = select((x)->if (x % 2 == 0, 1, 0), l)); + my(odds = select((x)->if (x % 2 != 0, 1, 0), l)); + my(res = List()); + listput(res, evens); + listput(res, odds); + res; +} + +fun_sort(l) = +{ + my(split_list = split_even_odd(l)); + my(res = List()); + my(evens = split_list[1]); + my(odds = split_list[2]); + listsort(evens); + listsort(odds); + foreach(evens, element, listput(res, element)); + foreach(odds, element, listput(res, element)); + res; +} + +l1 = List(); +for(i = 1, 6, listput(l1, i)); +l1_sort = fun_sort(l1); +print(l1_sort); diff --git a/challenge-213/barroff/raku/ch-1.raku b/challenge-213/barroff/raku/ch-1.raku new file mode 100644 index 0000000000..02b68cea78 --- /dev/null +++ b/challenge-213/barroff/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +use v6.d; + +sub fun-sort(Int @numbers --> List) { + my Int @even = grep({ $_ % 2 == 0 }, @numbers).sort; + my Int @odd = grep({ $_ % 2 ≠ 0 }, @numbers).sort; + return (|@even, |@odd); +} + +#| Run test cases +multi sub MAIN('test') { + use Test; + plan 3; + + is fun-sort(Array[Int].new(1,2,3,4,5,6)), (2,4,6,1,3,5), 'Works for (1,2,3,4,5,6)'; + is fun-sort(Array[Int].new(1,2)), (2,1), 'Works for (1,2)'; + is fun-sort(Array[Int].new(1)), (1), 'Works for (1)'; +} + |
