aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-09-08 11:23:19 +0100
committerGitHub <noreply@github.com>2020-09-08 11:23:19 +0100
commit188d1a0aa04edd2925d9827dec2c6ce013b09d0c (patch)
treefcbb9e339e17db5d189d327fd9f8d518059a81db
parent770cf74bcfb8a1f55c7aa10fd0c1f1e6c50c2f36 (diff)
parent39ff8d9c9ec712d35d3f8d07f9be84ba8f687945 (diff)
downloadperlweeklychallenge-club-188d1a0aa04edd2925d9827dec2c6ce013b09d0c.tar.gz
perlweeklychallenge-club-188d1a0aa04edd2925d9827dec2c6ce013b09d0c.tar.bz2
perlweeklychallenge-club-188d1a0aa04edd2925d9827dec2c6ce013b09d0c.zip
Merge pull request #2235 from ash/ash-076
ash 77-2
-rw-r--r--challenge-077/ash/blog1.txt1
-rw-r--r--challenge-077/ash/raku/ch-2.raku36
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-077/ash/blog1.txt b/challenge-077/ash/blog1.txt
new file mode 100644
index 0000000000..a81f60f4d3
--- /dev/null
+++ b/challenge-077/ash/blog1.txt
@@ -0,0 +1 @@
+https://andrewshitov.com/2020/09/08/lonely-x-the-weekly-challenge-77-task-2/
diff --git a/challenge-077/ash/raku/ch-2.raku b/challenge-077/ash/raku/ch-2.raku
new file mode 100644
index 0000000000..47d8524eaa
--- /dev/null
+++ b/challenge-077/ash/raku/ch-2.raku
@@ -0,0 +1,36 @@
+#!/usr/bin/env raku
+
+# Task 2 from
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-077/
+
+# Comments: https://andrewshitov.com/2020/09/08/lonely-x-the-weekly-challenge-77-task-2/
+
+my @matrix =
+ < O O X >,
+ < X O O >,
+ < X O O >; # square matrix
+
+# my @matrix =
+# < O O X O >,
+# < X O O O >,
+# < X O O X >,
+# < O X O O >;
+
+my @neighbours = ([X] (-1, 0, 1) xx 2).grep(*.all != 0);
+
+for ^@matrix X ^@matrix -> @coord {
+ next if @matrix[@coord[0]][@coord[1]] eq 'O';
+
+ @coord.put if all((@neighbours.map(* <<+>> @coord)).grep(0 <= *.all <= @matrix.end).map({
+ @matrix[$_[0]][$_[1]] eq 'O';
+ }));
+}
+
+# Output:
+# $ raku ch-2.raku
+# 0 2
+
+# Or:
+# $ raku ch-2.raku
+# 0 2
+# 2 3