From 2aabb5ade5d569a04f94f3c02903a27cd1fcf065 Mon Sep 17 00:00:00 2001 From: Luca Ferrari Date: Mon, 20 Oct 2025 12:29:08 +0200 Subject: PWC 344 Task 1 Raku done Task 2 Raku done --- challenge-344/luca-ferrari/blog-1.txt | 1 + challenge-344/luca-ferrari/blog-2.txt | 1 + challenge-344/luca-ferrari/pljava/pom.xml | 72 ------------------------------- challenge-344/luca-ferrari/raku/ch-1.raku | 15 +++++++ challenge-344/luca-ferrari/raku/ch-2.raku | 43 ++++++++++++++++++ 5 files changed, 60 insertions(+), 72 deletions(-) create mode 100644 challenge-344/luca-ferrari/blog-1.txt create mode 100644 challenge-344/luca-ferrari/blog-2.txt delete mode 100644 challenge-344/luca-ferrari/pljava/pom.xml create mode 100644 challenge-344/luca-ferrari/raku/ch-1.raku create mode 100644 challenge-344/luca-ferrari/raku/ch-2.raku diff --git a/challenge-344/luca-ferrari/blog-1.txt b/challenge-344/luca-ferrari/blog-1.txt new file mode 100644 index 0000000000..5460028345 --- /dev/null +++ b/challenge-344/luca-ferrari/blog-1.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2025/10/20/PerlWeeklyChallenge344.html#task1 diff --git a/challenge-344/luca-ferrari/blog-2.txt b/challenge-344/luca-ferrari/blog-2.txt new file mode 100644 index 0000000000..da55eccb99 --- /dev/null +++ b/challenge-344/luca-ferrari/blog-2.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2025/10/20/PerlWeeklyChallenge344.html#task2 diff --git a/challenge-344/luca-ferrari/pljava/pom.xml b/challenge-344/luca-ferrari/pljava/pom.xml deleted file mode 100644 index 674fcf6c4d..0000000000 --- a/challenge-344/luca-ferrari/pljava/pom.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - 4.0.0 - - PWC - - PWC341 - - - 1 - - - Perl Weekly Challenge 341 with package PWC341 - Implementation of the tasks in PL/Java for PWC 341 - - - US-ASCII - - - - - org.postgresql - pljava-api - 1.6.6 - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 9 - - - - org.apache.maven.plugins - maven-jar-plugin - 2.6 - - - - - - true - - - - - - - pljava.ddr - - - true - - - - - - - - - - diff --git a/challenge-344/luca-ferrari/raku/ch-1.raku b/challenge-344/luca-ferrari/raku/ch-1.raku new file mode 100644 index 0000000000..2412847531 --- /dev/null +++ b/challenge-344/luca-ferrari/raku/ch-1.raku @@ -0,0 +1,15 @@ +#!raku + +# +# Perl Weekly Challenge 344 +# Task 1 +# +# See +# + +sub MAIN( Int $x, *@numbers where { @numbers.grep( * ~~ Int ).elems == @numbers.elems } ) { + my @n = $x.comb; + @n.unshift: 0 while ( @n.elems < @numbers.elems ); + + say @numbers <<+>> @n; +} diff --git a/challenge-344/luca-ferrari/raku/ch-2.raku b/challenge-344/luca-ferrari/raku/ch-2.raku new file mode 100644 index 0000000000..8c19d1bfb1 --- /dev/null +++ b/challenge-344/luca-ferrari/raku/ch-2.raku @@ -0,0 +1,43 @@ +#!raku + +# +# Perl Weekly Challenge 344 +# Task 2 +# +# See +# + +sub MAIN( ) { + my @source = [2,3], [1], [4]; + my @destination = 1,2,3,4; + + #@source = [9,1], [5,8], [2]; + #@destination = 5, 8, 2, 9, 1; + + # @source = [1], [3]; + # @destination = 1,2,3; + + my $destination-as-string = @destination.sort.join; + + my $found = 0; + for @source -> $current { + my $index = Nil; + + for $current.List -> $x { + 'False'.say and exit if ( ! @destination.grep( * ~~ $x ) ); + if ( ! $index ) { + $index = @destination.grep( * ~~ $x, :k ).first; + } + else { + 'False'.say and exit if ( @destination[ ++$index ] != $x ); + } + + $found++; + } + } + + + + 'True'.say and exit if ( $found == @destination.elems ); + 'False'.say; +} -- cgit