diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2023-09-17 18:57:09 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2023-09-17 18:57:09 +0200 |
| commit | 15ac125d275f03abcdaff4a7b821fa23800987ef (patch) | |
| tree | 37da62757955733730e5a98a128e1eccb70ef8ad | |
| parent | 60080f94b1cd0ff7dd6eb0dc3df3fd62feb3ae6a (diff) | |
| download | perlweeklychallenge-club-15ac125d275f03abcdaff4a7b821fa23800987ef.tar.gz perlweeklychallenge-club-15ac125d275f03abcdaff4a7b821fa23800987ef.tar.bz2 perlweeklychallenge-club-15ac125d275f03abcdaff4a7b821fa23800987ef.zip | |
Task 2 plperl
| -rw-r--r-- | challenge-234/luca-ferrari/postgresql/ch-2.plperl | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-234/luca-ferrari/postgresql/ch-2.plperl b/challenge-234/luca-ferrari/postgresql/ch-2.plperl new file mode 100644 index 0000000000..ac85075a2a --- /dev/null +++ b/challenge-234/luca-ferrari/postgresql/ch-2.plperl @@ -0,0 +1,28 @@ +-- +-- Perl Weekly Challenge 234 +-- Task 2 +-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-234/> +-- + +CREATE SCHEMA IF NOT EXISTS pwc234; + +CREATE OR REPLACE FUNCTION +pwc234.task2_plperl( int[] ) +RETURNS TABLE( i int, j int, k int ) +AS $CODE$ + my ( $nums ) = @_; + + for my $i ( 0 .. $nums->@* - 3 ) { + for my $j ( $i + 1 .. $nums->@* - 2 ) { + for my $k ( $j + 1 .. $nums->@* - 1 ) { + return_next( { i => $i, j => $j, k => $k } ) + if ( $nums->[ $i ] != $nums->[ $j ] + && $nums->[ $j ] != $nums->[ $k ] + && $nums->[ $k ] != $nums->[ $i ] ); + } + } + } + + return undef; +$CODE$ +LANGUAGE plperl; |
