aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-04-24 01:03:29 +0100
committerGitHub <noreply@github.com>2023-04-24 01:03:29 +0100
commit8ad690e7e49103dad0464ef5af2c313801cfbc19 (patch)
tree21a4629d75d49526f563b3f561167481dafba12e
parentacacb42d46a7c67c2643241a5ee18c3f2eb644dd (diff)
parentd81c49ecaa7ae84e9642c5941bf3cf4fb19fe49b (diff)
downloadperlweeklychallenge-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.gp27
-rw-r--r--challenge-213/barroff/raku/ch-1.raku20
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)';
+}
+