diff options
| author | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-10-26 21:34:28 +0100 |
|---|---|---|
| committer | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-10-26 21:34:28 +0100 |
| commit | e4b78f05d8535eba67d1b084ee02040517f3eac7 (patch) | |
| tree | 54249829bc6dbe75eb95e2b79e723e79be9ff890 | |
| parent | c7c365f4c6fcf370e9ab02d866e1b73ce7209e43 (diff) | |
| download | perlweeklychallenge-club-e4b78f05d8535eba67d1b084ee02040517f3eac7.tar.gz perlweeklychallenge-club-e4b78f05d8535eba67d1b084ee02040517f3eac7.tar.bz2 perlweeklychallenge-club-e4b78f05d8535eba67d1b084ee02040517f3eac7.zip | |
initial
| -rw-r--r-- | challenge-084/markus-holzer/raku/ch-1.raku | 6 | ||||
| -rw-r--r-- | challenge-084/markus-holzer/raku/ch-2.raku | 20 |
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]); |
