aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;