From b3d1f490d46955f1d3b053f75fe17a5101b6fb30 Mon Sep 17 00:00:00 2001 From: arnesom Date: Thu, 14 Mar 2024 22:33:16 +0100 Subject: Arne Sommer --- challenge-260/arne-sommer/blog.txt | 1 + challenge-260/arne-sommer/raku/ch-1.raku | 9 +++++++++ challenge-260/arne-sommer/raku/ch-2.raku | 11 +++++++++++ challenge-260/arne-sommer/raku/dictionary-rank | 11 +++++++++++ challenge-260/arne-sommer/raku/unique-occurences | 9 +++++++++ 5 files changed, 41 insertions(+) create mode 100644 challenge-260/arne-sommer/blog.txt create mode 100755 challenge-260/arne-sommer/raku/ch-1.raku create mode 100755 challenge-260/arne-sommer/raku/ch-2.raku create mode 100755 challenge-260/arne-sommer/raku/dictionary-rank create mode 100755 challenge-260/arne-sommer/raku/unique-occurences 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; -- cgit