aboutsummaryrefslogtreecommitdiff
path: root/challenge-050
diff options
context:
space:
mode:
authorMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-03-02 05:16:39 +0100
committerMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-03-02 05:16:39 +0100
commit3718ef749fa21ec4cb009d5e9ce5994a492b6e25 (patch)
tree72a78427ff342f51485b23b7554d31d0835ea507 /challenge-050
parent16c1fab017ab95d4eadf29dfbc9af17142ae469e (diff)
downloadperlweeklychallenge-club-3718ef749fa21ec4cb009d5e9ce5994a492b6e25.tar.gz
perlweeklychallenge-club-3718ef749fa21ec4cb009d5e9ce5994a492b6e25.tar.bz2
perlweeklychallenge-club-3718ef749fa21ec4cb009d5e9ce5994a492b6e25.zip
Solutions Markus Holzer
Diffstat (limited to 'challenge-050')
-rw-r--r--challenge-050/markus-holzer/raku/ch-1.p620
-rw-r--r--challenge-050/markus-holzer/raku/ch-2.p615
2 files changed, 35 insertions, 0 deletions
diff --git a/challenge-050/markus-holzer/raku/ch-1.p6 b/challenge-050/markus-holzer/raku/ch-1.p6
new file mode 100644
index 0000000000..6904852340
--- /dev/null
+++ b/challenge-050/markus-holzer/raku/ch-1.p6
@@ -0,0 +1,20 @@
+sub merge( **@tupel )
+{
+ my $current = @tupel.first;
+
+ gather
+ {
+ for @tupel[ 1..* ] -> $next
+ {
+ $current = [ $current[0], $next[1] ] and next
+ if $next[0] < $current[1];
+
+ take $current;
+ $current = $next;
+ }
+
+ take $current;
+ }
+}
+
+dd merge( [2, 7], [3, 9], [10, 12], [15, 19], [18, 22] ); \ No newline at end of file
diff --git a/challenge-050/markus-holzer/raku/ch-2.p6 b/challenge-050/markus-holzer/raku/ch-2.p6
new file mode 100644
index 0000000000..ac883a7ae1
--- /dev/null
+++ b/challenge-050/markus-holzer/raku/ch-2.p6
@@ -0,0 +1,15 @@
+sub noble( @n )
+{
+ my Int $n = (@n = @n.sort).elems;
+
+ ( 0..^$n )
+ .grep({
+ @n[ $^i ] == $n - $^i - 1 })
+ .map({
+ @n[ $^i ] });
+}
+
+say noble( [2, 4, 0, 3] );
+say noble( [1, 4, 5, 6, 7, 8] );
+say noble( [2, 2, 0, 3] );
+say noble( [-1, 0] );