diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2023-05-16 12:54:39 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-16 12:54:39 +0100 |
| commit | f33f202132be7b16597fbcef52be46b0b960434e (patch) | |
| tree | 2e2f697028f04120c4ce8d402cdaddfe1463611b | |
| parent | 15aa8637d53cf3eb5d99b6167a73ad477cd9f467 (diff) | |
| parent | c6617352b7a486a8179e327072aa550ee7440c61 (diff) | |
| download | perlweeklychallenge-club-f33f202132be7b16597fbcef52be46b0b960434e.tar.gz perlweeklychallenge-club-f33f202132be7b16597fbcef52be46b0b960434e.tar.bz2 perlweeklychallenge-club-f33f202132be7b16597fbcef52be46b0b960434e.zip | |
Merge pull request #8086 from fluca1978/PWC217
Pwc217
| -rw-r--r-- | challenge-217/luca-ferrari/blog-1.txt | 1 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/blog-2.txt | 1 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/blog-3.txt | 1 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/blog-4.txt | 1 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/blog-5.txt | 1 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/blog-6.txt | 1 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/postgresql/ch-1.plperl | 16 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/postgresql/ch-1.sql | 20 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/postgresql/ch-2.plperl | 22 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/postgresql/ch-2.sql | 19 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/raku/ch-1.p6 | 12 | ||||
| -rw-r--r-- | challenge-217/luca-ferrari/raku/ch-2.p6 | 17 |
12 files changed, 112 insertions, 0 deletions
diff --git a/challenge-217/luca-ferrari/blog-1.txt b/challenge-217/luca-ferrari/blog-1.txt new file mode 100644 index 0000000000..bfd82f541e --- /dev/null +++ b/challenge-217/luca-ferrari/blog-1.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2023/05/15/PerlWeeklyChallenge217.html#task1 diff --git a/challenge-217/luca-ferrari/blog-2.txt b/challenge-217/luca-ferrari/blog-2.txt new file mode 100644 index 0000000000..7b71b89501 --- /dev/null +++ b/challenge-217/luca-ferrari/blog-2.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2023/05/15/PerlWeeklyChallenge217.html#task2 diff --git a/challenge-217/luca-ferrari/blog-3.txt b/challenge-217/luca-ferrari/blog-3.txt new file mode 100644 index 0000000000..a25407a30b --- /dev/null +++ b/challenge-217/luca-ferrari/blog-3.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2023/05/15/PerlWeeklyChallenge217.html#task1plperl diff --git a/challenge-217/luca-ferrari/blog-4.txt b/challenge-217/luca-ferrari/blog-4.txt new file mode 100644 index 0000000000..9554036bc0 --- /dev/null +++ b/challenge-217/luca-ferrari/blog-4.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2023/05/15/PerlWeeklyChallenge217.html#task2plperl diff --git a/challenge-217/luca-ferrari/blog-5.txt b/challenge-217/luca-ferrari/blog-5.txt new file mode 100644 index 0000000000..0da9ad7f09 --- /dev/null +++ b/challenge-217/luca-ferrari/blog-5.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2023/05/15/PerlWeeklyChallenge217.html#task1plpgsql diff --git a/challenge-217/luca-ferrari/blog-6.txt b/challenge-217/luca-ferrari/blog-6.txt new file mode 100644 index 0000000000..2da27b3afd --- /dev/null +++ b/challenge-217/luca-ferrari/blog-6.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2023/05/15/PerlWeeklyChallenge217.html#task2plpgsql diff --git a/challenge-217/luca-ferrari/postgresql/ch-1.plperl b/challenge-217/luca-ferrari/postgresql/ch-1.plperl new file mode 100644 index 0000000000..7e470898c1 --- /dev/null +++ b/challenge-217/luca-ferrari/postgresql/ch-1.plperl @@ -0,0 +1,16 @@ +-- +-- Perl Weekly Challenge 217 +-- Task 1 +-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-217/> +-- + +CREATE SCHEMA IF NOT EXISTS pwc217; + +CREATE OR REPLACE FUNCTION +pwc217.task1_plperl( int[] ) +RETURNS int +AS $CODE$ + my ( $array ) = @_; + return ( sort( $array->@* ) )[ 3 ]; +$CODE$ +LANGUAGE plperl; diff --git a/challenge-217/luca-ferrari/postgresql/ch-1.sql b/challenge-217/luca-ferrari/postgresql/ch-1.sql new file mode 100644 index 0000000000..e4419e71c9 --- /dev/null +++ b/challenge-217/luca-ferrari/postgresql/ch-1.sql @@ -0,0 +1,20 @@ +-- +-- Perl Weekly Challenge 217 +-- Task 1 +-- +-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-217/> +-- + +CREATE SCHEMA IF NOT EXISTS pwc217; + +CREATE OR REPLACE FUNCTION +pwc217.task1_plpgsql( a int[] ) +RETURNS int +AS $CODE$ + SELECT v + FROM unnest( a ) v + ORDER BY 1 + LIMIT 1 + OFFSET 3; +$CODE$ +LANGUAGE sql; diff --git a/challenge-217/luca-ferrari/postgresql/ch-2.plperl b/challenge-217/luca-ferrari/postgresql/ch-2.plperl new file mode 100644 index 0000000000..d722bcba46 --- /dev/null +++ b/challenge-217/luca-ferrari/postgresql/ch-2.plperl @@ -0,0 +1,22 @@ +-- +-- Perl Weekly Challenge 217 +-- Task 2 +-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-217/> +-- + +CREATE SCHEMA IF NOT EXISTS pwc217; + +CREATE OR REPLACE FUNCTION +pwc217.task2_plperl( int[] ) +RETURNS int +AS $CODE$ + use List::Permutor; + my ( $max ) = 0; + my $engine = List::Permutor->new( $_[0]->@* ); + while ( my @current = $engine->next ) { + $max = join( '', @current ) if ( join( '', @current ) > $max ); + } + + return $max; +$CODE$ +LANGUAGE plperlu; diff --git a/challenge-217/luca-ferrari/postgresql/ch-2.sql b/challenge-217/luca-ferrari/postgresql/ch-2.sql new file mode 100644 index 0000000000..e41dae8834 --- /dev/null +++ b/challenge-217/luca-ferrari/postgresql/ch-2.sql @@ -0,0 +1,19 @@ +-- +-- Perl Weekly Challenge 217 +-- Task 2 +-- +-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-217/> +-- + +CREATE SCHEMA IF NOT EXISTS pwc217; + +CREATE OR REPLACE FUNCTION +pwc217.task2_plpgsql( a int[] ) +RETURNS int +AS $CODE$ + SELECT string_agg( v.vv::text, '' )::int + FROM ( SELECT vv + FROM unnest( a ) vv + ORDER BY ( vv % 10 ) DESC ) v; +$CODE$ +LANGUAGE sql; diff --git a/challenge-217/luca-ferrari/raku/ch-1.p6 b/challenge-217/luca-ferrari/raku/ch-1.p6 new file mode 100644 index 0000000000..a124f2d0a5 --- /dev/null +++ b/challenge-217/luca-ferrari/raku/ch-1.p6 @@ -0,0 +1,12 @@ +#!raku + +# +# Perl Weekly Challenge 217 +# Task 1 +# +# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-217/> +# + +sub MAIN( *@n where { @n.grep( * ~~ Int ).elems == @n.elems } ) { + @n.sort()[ 3 ].say; +} diff --git a/challenge-217/luca-ferrari/raku/ch-2.p6 b/challenge-217/luca-ferrari/raku/ch-2.p6 new file mode 100644 index 0000000000..e765c6480c --- /dev/null +++ b/challenge-217/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,17 @@ +#!raku + +# +# Perl Weekly Challenge 217 +# Task 2 +# +# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-217/> +# + +sub MAIN( *@list where { @list.grep( * ~~ Int ).elems == @list.elems } ) { + my $max = 0; + for @list.permutations { + $max = $_.join if ( $_.join.Int > $max ); + } + + $max.say; +} |
