aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-03-15 12:03:55 +0000
committerGitHub <noreply@github.com>2024-03-15 12:03:55 +0000
commitd49ea1c20d28c64d5abfb39e8b1ec2d64ea6f4ab (patch)
treedfb752ed50cdaaed40c6158e6b286fb6bd1c0c5d
parent674415f314a1e5ad9cb6154f6273cae07ffc908e (diff)
parentb3d1f490d46955f1d3b053f75fe17a5101b6fb30 (diff)
downloadperlweeklychallenge-club-d49ea1c20d28c64d5abfb39e8b1ec2d64ea6f4ab.tar.gz
perlweeklychallenge-club-d49ea1c20d28c64d5abfb39e8b1ec2d64ea6f4ab.tar.bz2
perlweeklychallenge-club-d49ea1c20d28c64d5abfb39e8b1ec2d64ea6f4ab.zip
Merge pull request #9743 from arnesom/branch-for-challenge-260
Arne Sommer
-rw-r--r--challenge-260/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-260/arne-sommer/raku/ch-1.raku9
-rwxr-xr-xchallenge-260/arne-sommer/raku/ch-2.raku11
-rwxr-xr-xchallenge-260/arne-sommer/raku/dictionary-rank11
-rwxr-xr-xchallenge-260/arne-sommer/raku/unique-occurences9
5 files changed, 41 insertions, 0 deletions
diff --git a/challenge-260/arne-sommer/blog.txt b/challenge-260/arne-sommer/blog.txt
new file mode 100644
index 0000000000..66b2db3d3f
--- /dev/null
+++ b/challenge-260/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/unique-rank.html
diff --git a/challenge-260/arne-sommer/raku/ch-1.raku b/challenge-260/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..9c048e2dc4
--- /dev/null
+++ b/challenge-260/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,9 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where all(@ints) ~~ Int && @ints.elems > 0, :v(:$verbose));
+
+my @freq = @ints.Bag.values;
+
+say ": Frequencies: @freq[]" if $verbose;
+
+say @freq.repeated ?? 0 !! 1;
diff --git a/challenge-260/arne-sommer/raku/ch-2.raku b/challenge-260/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..ca37cf732a
--- /dev/null
+++ b/challenge-260/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,11 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($word where $word.chars > 0, :v(:$verbose));
+
+my $perm = $word.comb.sort.permutations>>.join.unique;
+
+say ": Permutations: $perm[]" if $verbose;
+
+my $index = ($perm.grep: $word, :k).first;
+
+say $index +1;
diff --git a/challenge-260/arne-sommer/raku/dictionary-rank b/challenge-260/arne-sommer/raku/dictionary-rank
new file mode 100755
index 0000000000..ca37cf732a
--- /dev/null
+++ b/challenge-260/arne-sommer/raku/dictionary-rank
@@ -0,0 +1,11 @@
+#! /usr/bin/env raku
+
+unit sub MAIN ($word where $word.chars > 0, :v(:$verbose));
+
+my $perm = $word.comb.sort.permutations>>.join.unique;
+
+say ": Permutations: $perm[]" if $verbose;
+
+my $index = ($perm.grep: $word, :k).first;
+
+say $index +1;
diff --git a/challenge-260/arne-sommer/raku/unique-occurences b/challenge-260/arne-sommer/raku/unique-occurences
new file mode 100755
index 0000000000..9c048e2dc4
--- /dev/null
+++ b/challenge-260/arne-sommer/raku/unique-occurences
@@ -0,0 +1,9 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@ints where all(@ints) ~~ Int && @ints.elems > 0, :v(:$verbose));
+
+my @freq = @ints.Bag.values;
+
+say ": Frequencies: @freq[]" if $verbose;
+
+say @freq.repeated ?? 0 !! 1;