From 58215ec3d57ea5e2cd6538378e86f3c67f255e7f Mon Sep 17 00:00:00 2001 From: arnesom Date: Tue, 2 Jan 2024 20:22:21 +0100 Subject: Arne Sommer --- challenge-250/arne-sommer/blog.txt | 1 + challenge-250/arne-sommer/raku/asv | 9 +++++++++ challenge-250/arne-sommer/raku/ch-1.raku | 14 ++++++++++++++ challenge-250/arne-sommer/raku/ch-2.raku | 9 +++++++++ challenge-250/arne-sommer/raku/smallest-index | 14 ++++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 challenge-250/arne-sommer/blog.txt create mode 100755 challenge-250/arne-sommer/raku/asv create mode 100755 challenge-250/arne-sommer/raku/ch-1.raku create mode 100755 challenge-250/arne-sommer/raku/ch-2.raku create mode 100755 challenge-250/arne-sommer/raku/smallest-index diff --git a/challenge-250/arne-sommer/blog.txt b/challenge-250/arne-sommer/blog.txt new file mode 100644 index 0000000000..a90a27bace --- /dev/null +++ b/challenge-250/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/string-index.html diff --git a/challenge-250/arne-sommer/raku/asv b/challenge-250/arne-sommer/raku/asv new file mode 100755 index 0000000000..f2e2aa9868 --- /dev/null +++ b/challenge-250/arne-sommer/raku/asv @@ -0,0 +1,9 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@alphanumstr where @alphanumstr.elems > 0, :v(:$verbose)); + +my @values = @alphanumstr.map({ /^<[0..9]>+$/ ?? $_.Int !! $_.chars }); + +say ":Values: { @values.join(",") }" if $verbose; + +say @values.max; diff --git a/challenge-250/arne-sommer/raku/ch-1.raku b/challenge-250/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..d684f19766 --- /dev/null +++ b/challenge-250/arne-sommer/raku/ch-1.raku @@ -0,0 +1,14 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where @ints.elems > 0 && all(@ints) ~~ Int); + +for ^@ints -> $i +{ + if $i % 10 == @ints[$i] + { + say $i; + exit; + } +} + +say -1; diff --git a/challenge-250/arne-sommer/raku/ch-2.raku b/challenge-250/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..f2e2aa9868 --- /dev/null +++ b/challenge-250/arne-sommer/raku/ch-2.raku @@ -0,0 +1,9 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@alphanumstr where @alphanumstr.elems > 0, :v(:$verbose)); + +my @values = @alphanumstr.map({ /^<[0..9]>+$/ ?? $_.Int !! $_.chars }); + +say ":Values: { @values.join(",") }" if $verbose; + +say @values.max; diff --git a/challenge-250/arne-sommer/raku/smallest-index b/challenge-250/arne-sommer/raku/smallest-index new file mode 100755 index 0000000000..d684f19766 --- /dev/null +++ b/challenge-250/arne-sommer/raku/smallest-index @@ -0,0 +1,14 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where @ints.elems > 0 && all(@ints) ~~ Int); + +for ^@ints -> $i +{ + if $i % 10 == @ints[$i] + { + say $i; + exit; + } +} + +say -1; -- cgit