aboutsummaryrefslogtreecommitdiff
path: root/challenge-207
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-03-10 21:50:38 +0000
committerGitHub <noreply@github.com>2023-03-10 21:50:38 +0000
commit4465e6355dd924460973eafbecea9184b141f846 (patch)
treeb065ca478245d5cb3a9720f1e010268be36072c7 /challenge-207
parentc6d16e2cb6ac65135d0ba03792cbafb76ebb42c4 (diff)
parent38f3b79c4be5a065fcf700da4a3200e2d45ce378 (diff)
downloadperlweeklychallenge-club-4465e6355dd924460973eafbecea9184b141f846.tar.gz
perlweeklychallenge-club-4465e6355dd924460973eafbecea9184b141f846.tar.bz2
perlweeklychallenge-club-4465e6355dd924460973eafbecea9184b141f846.zip
Merge pull request #7702 from arnesom/branch-for-challenge-207
Arne Sommer
Diffstat (limited to 'challenge-207')
-rw-r--r--challenge-207/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-207/arne-sommer/raku/ch-1.raku17
-rwxr-xr-xchallenge-207/arne-sommer/raku/ch-2.raku18
-rwxr-xr-xchallenge-207/arne-sommer/raku/h-index18
-rwxr-xr-xchallenge-207/arne-sommer/raku/keyboard-word17
5 files changed, 71 insertions, 0 deletions
diff --git a/challenge-207/arne-sommer/blog.txt b/challenge-207/arne-sommer/blog.txt
new file mode 100644
index 0000000000..897695eb40
--- /dev/null
+++ b/challenge-207/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/h-word.html
diff --git a/challenge-207/arne-sommer/raku/ch-1.raku b/challenge-207/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..181cd47446
--- /dev/null
+++ b/challenge-207/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,17 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($words = "Hello Alaska Dad Peace", :v($verbose));
+
+my $row1 = /^ <[qwertyuiop]>+ $/;
+my $row2 = /^ <[asdfghjkl]>+ $/;
+my $row3 = /^ <[zxcvbnm]>+ $/;
+
+my @ok;
+
+for $words.words -> $word
+{
+ say ":word: $word" if $verbose;
+ @ok.push($word) if $word.lc ~~ / $row1 | $row2 | $row3 /;
+}
+
+say "(", @ok.map({ '"' ~ $_ ~ '"' }).join(","), ")";
diff --git a/challenge-207/arne-sommer/raku/ch-2.raku b/challenge-207/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..59000e1752
--- /dev/null
+++ b/challenge-207/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,18 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@citations where @citations.elems && all(@citations) ~~ /^ 0 || <[1..9]> <[0..9]>* $/, :v($verbose));
+
+my @sorted = @citations.sort;
+
+say ": Sorted: { @citations.join(", ") }" if $verbose;
+
+for @citations.elems ... 1 -> $index
+{
+ say "Pos:$index -> val:{ @citations[$index -1] }" if $verbose;
+ if @citations[$index -1] >= $index
+ {
+ say $index;
+ last;
+ }
+}
+
diff --git a/challenge-207/arne-sommer/raku/h-index b/challenge-207/arne-sommer/raku/h-index
new file mode 100755
index 0000000000..59000e1752
--- /dev/null
+++ b/challenge-207/arne-sommer/raku/h-index
@@ -0,0 +1,18 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@citations where @citations.elems && all(@citations) ~~ /^ 0 || <[1..9]> <[0..9]>* $/, :v($verbose));
+
+my @sorted = @citations.sort;
+
+say ": Sorted: { @citations.join(", ") }" if $verbose;
+
+for @citations.elems ... 1 -> $index
+{
+ say "Pos:$index -> val:{ @citations[$index -1] }" if $verbose;
+ if @citations[$index -1] >= $index
+ {
+ say $index;
+ last;
+ }
+}
+
diff --git a/challenge-207/arne-sommer/raku/keyboard-word b/challenge-207/arne-sommer/raku/keyboard-word
new file mode 100755
index 0000000000..181cd47446
--- /dev/null
+++ b/challenge-207/arne-sommer/raku/keyboard-word
@@ -0,0 +1,17 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($words = "Hello Alaska Dad Peace", :v($verbose));
+
+my $row1 = /^ <[qwertyuiop]>+ $/;
+my $row2 = /^ <[asdfghjkl]>+ $/;
+my $row3 = /^ <[zxcvbnm]>+ $/;
+
+my @ok;
+
+for $words.words -> $word
+{
+ say ":word: $word" if $verbose;
+ @ok.push($word) if $word.lc ~~ / $row1 | $row2 | $row3 /;
+}
+
+say "(", @ok.map({ '"' ~ $_ ~ '"' }).join(","), ")";