aboutsummaryrefslogtreecommitdiff
path: root/challenge-059/arne-sommer/raku/linked-list
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-059/arne-sommer/raku/linked-list')
-rwxr-xr-xchallenge-059/arne-sommer/raku/linked-list31
1 files changed, 31 insertions, 0 deletions
diff --git a/challenge-059/arne-sommer/raku/linked-list b/challenge-059/arne-sommer/raku/linked-list
new file mode 100755
index 0000000000..27b549dfd5
--- /dev/null
+++ b/challenge-059/arne-sommer/raku/linked-list
@@ -0,0 +1,31 @@
+#! /usr/bin/env raku
+
+multi MAIN (Int $k = 3, Str $list = "1 4 3 2 5 2", :$verbose)
+{
+ MAIN($k, $list.words, :$verbose);
+}
+
+multi MAIN (Int $k = 3, *@list, :$verbose)
+{
+ my @lower;
+ my @higher;
+
+ for @list -> $elem
+ {
+ $elem >= $k
+ ?? @higher.push: $elem
+ !! @lower.push: $elem;
+ }
+
+ my @result = (@lower, @higher).flat;
+
+ if $verbose
+ {
+ say ": == : $k";
+ say ": < : @lower[]";
+ say ": >= : @higher[]";
+ }
+
+ say @result.join(" → ");
+}
+ \ No newline at end of file