diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-09-12 06:41:17 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-12 06:41:17 +0100 |
| commit | b88ec7ee546ba5328c740285e8a9acfa59267efc (patch) | |
| tree | e8577061b771204192542790aa707e285300d8a3 | |
| parent | 5d6ff1b6bc7ab5ac2d2ecea36f3e10a48a612c5c (diff) | |
| parent | af409e4fbda948f36ccb39265301aa23d75d2641 (diff) | |
| download | perlweeklychallenge-club-b88ec7ee546ba5328c740285e8a9acfa59267efc.tar.gz perlweeklychallenge-club-b88ec7ee546ba5328c740285e8a9acfa59267efc.tar.bz2 perlweeklychallenge-club-b88ec7ee546ba5328c740285e8a9acfa59267efc.zip | |
Merge pull request #2256 from holli-holzer/master
initial #2
| -rw-r--r-- | challenge-077/markus-holzer/raku/ch-2.input | 3 | ||||
| -rw-r--r-- | challenge-077/markus-holzer/raku/ch-2.input.2 | 4 | ||||
| -rw-r--r-- | challenge-077/markus-holzer/raku/ch-2.raku | 14 | ||||
| -rw-r--r-- | challenge-077/markus-holzer/raku/ch-2.twitter.raku | 5 |
4 files changed, 26 insertions, 0 deletions
diff --git a/challenge-077/markus-holzer/raku/ch-2.input b/challenge-077/markus-holzer/raku/ch-2.input new file mode 100644 index 0000000000..32e25b69b9 --- /dev/null +++ b/challenge-077/markus-holzer/raku/ch-2.input @@ -0,0 +1,3 @@ +OOX +XOO +XOO diff --git a/challenge-077/markus-holzer/raku/ch-2.input.2 b/challenge-077/markus-holzer/raku/ch-2.input.2 new file mode 100644 index 0000000000..600d69c9a9 --- /dev/null +++ b/challenge-077/markus-holzer/raku/ch-2.input.2 @@ -0,0 +1,4 @@ +OOXO +XOOO +XOOX +OXOO diff --git a/challenge-077/markus-holzer/raku/ch-2.raku b/challenge-077/markus-holzer/raku/ch-2.raku new file mode 100644 index 0000000000..4d36fbb2b5 --- /dev/null +++ b/challenge-077/markus-holzer/raku/ch-2.raku @@ -0,0 +1,14 @@ +unit sub MAIN( $input-file ); + +my @input = $input-file.IO.lines.map: *.comb; + +dd ( ^@input X ^@input.head ).grep( -> ($x, $y) { + @input[$x;$y] eq "X" && @input.&stands-alone($x, $y) }); + +sub stands-alone( $matrix, $x, $y ) { + state @maybe-neighbours = (-1,-1), (-1,0), (-1,1), (0,-1), (0, 1), (1,-1), (1,0), (1,1); + + sub is-neighbour($c) { + $matrix[ $x + $c[0]; $y + $c[1] ] andthen $_ eq "X" } + + @maybe-neighbours.grep( &is-neighbour ) == 0 }
\ No newline at end of file diff --git a/challenge-077/markus-holzer/raku/ch-2.twitter.raku b/challenge-077/markus-holzer/raku/ch-2.twitter.raku new file mode 100644 index 0000000000..0619e400fe --- /dev/null +++ b/challenge-077/markus-holzer/raku/ch-2.twitter.raku @@ -0,0 +1,5 @@ +unit sub MAIN($f); +my @i=$f.IO.lines.map:{.comb}; +sub a($m,$x,$y){my &n={$m[$x+.[0];$y+.[1]] andthen $_ eq "X"} +!((-1,-1),(-1,0),(-1,1),(0,-1),(0, 1),(1,-1),(1,0),(1,1)).grep: &n} +dd (^@i X ^@i.head).grep(->($x,$y){@i[$x;$y] eq "X" && @i.&a($x,$y)})
\ No newline at end of file |
