aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-10-26 21:34:28 +0100
committerMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-10-26 21:34:28 +0100
commite4b78f05d8535eba67d1b084ee02040517f3eac7 (patch)
tree54249829bc6dbe75eb95e2b79e723e79be9ff890
parentc7c365f4c6fcf370e9ab02d866e1b73ce7209e43 (diff)
downloadperlweeklychallenge-club-e4b78f05d8535eba67d1b084ee02040517f3eac7.tar.gz
perlweeklychallenge-club-e4b78f05d8535eba67d1b084ee02040517f3eac7.tar.bz2
perlweeklychallenge-club-e4b78f05d8535eba67d1b084ee02040517f3eac7.zip
initial
-rw-r--r--challenge-084/markus-holzer/raku/ch-1.raku6
-rw-r--r--challenge-084/markus-holzer/raku/ch-2.raku20
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-084/markus-holzer/raku/ch-1.raku b/challenge-084/markus-holzer/raku/ch-1.raku
new file mode 100644
index 0000000000..6fac398225
--- /dev/null
+++ b/challenge-084/markus-holzer/raku/ch-1.raku
@@ -0,0 +1,6 @@
+unit sub MAIN( Int $i );
+
+say -2147483647 <= $i <= 2147483647
+ ?? $i.subst( / \d+ /, *.flip )
+ !! 0;
+
diff --git a/challenge-084/markus-holzer/raku/ch-2.raku b/challenge-084/markus-holzer/raku/ch-2.raku
new file mode 100644
index 0000000000..d369f1000e
--- /dev/null
+++ b/challenge-084/markus-holzer/raku/ch-2.raku
@@ -0,0 +1,20 @@
+my @matrix[4,4] =
+ < 1 1 0 1 >,
+ < 1 1 0 0 >,
+ < 0 1 1 1 >,
+ < 1 0 1 1 >;
+
+my ( $h, $w ) = @matrix.shape;
+
+# I had no idea min is also an infix until yesterdays review video
+my @s = gather for [X] 0..^$h, 0..^$w, 1..$h min $w -> ($r, $c, $o) {
+ take $r, $c, $o if
+ $c + $o < $w && # check boundaries
+ $r + $o < $h &&
+ all @matrix[ $r+$o; $c+$o ], # check corners
+ @matrix[ $r+$o; $c ],
+ @matrix[ $r; $c+$o ],
+ @matrix[ $r; $c] }
+
+say +@s;
+"r: {.[0]+1}, c:{.[1]+1}, {.[2]+1}x{.[2]+1}".say for @s.sort(*.[2]);