diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-13 09:38:54 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-13 09:38:54 +0100 |
| commit | 3cf79163a29b588b86cd694f6e197a2320d7e2a7 (patch) | |
| tree | 2b700bbc21a43824a670a332e9b9e057d51200b0 | |
| parent | bf7ec3f38c6ffd95fa2de9d38cd2e841dbd5d57c (diff) | |
| download | perlweeklychallenge-club-3cf79163a29b588b86cd694f6e197a2320d7e2a7.tar.gz perlweeklychallenge-club-3cf79163a29b588b86cd694f6e197a2320d7e2a7.tar.bz2 perlweeklychallenge-club-3cf79163a29b588b86cd694f6e197a2320d7e2a7.zip | |
- Added solutions by Javier Luque.
| -rw-r--r-- | challenge-069/javier-luque/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-069/javier-luque/perl/ch-1.pl | 40 | ||||
| -rw-r--r-- | challenge-069/javier-luque/perl/ch-2.pl | 22 | ||||
| -rw-r--r-- | challenge-069/javier-luque/raku/ch-1.p6 | 31 | ||||
| -rw-r--r-- | challenge-069/javier-luque/raku/ch-2.p6 | 20 | ||||
| -rw-r--r-- | stats/pwc-challenge-068.json | 438 | ||||
| -rw-r--r-- | stats/pwc-current.json | 419 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 56 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 997 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 346 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 122 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 88 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 392 |
17 files changed, 1741 insertions, 1533 deletions
diff --git a/challenge-069/javier-luque/blog.txt b/challenge-069/javier-luque/blog.txt new file mode 100644 index 0000000000..35dfeb8344 --- /dev/null +++ b/challenge-069/javier-luque/blog.txt @@ -0,0 +1 @@ +https://perlchallenges.wordpress.com/2020/07/13/perl-weekly-challenge-069/ diff --git a/challenge-069/javier-luque/perl/ch-1.pl b/challenge-069/javier-luque/perl/ch-1.pl new file mode 100644 index 0000000000..35820d42e5 --- /dev/null +++ b/challenge-069/javier-luque/perl/ch-1.pl @@ -0,0 +1,40 @@ +#!/usr/bin/perl +# Test: ./ch-1.pl 50 100 +use Modern::Perl; + +my $a = shift; +my $b = shift; +my @answers; + +die "Invalid inputs" + if ( !$a || !$b || $a > $b || + $a < 0 || $b > 10e15 ); + +# Process each number +for my $i ($a .. $b) { + my $orig = $i; + + # Check and remove 6/9, 9/6 0/0, 1/1, 8/8 pairs + my $search_length = length($i) / 2; + for (my $j = 0; $j < $search_length; $j++) { + my $p1 = substr $i, $j, 1; + my $p2 = substr $i, length($i) - $j - 1, 1; + + if ( ($p1 == 6 && $p2 == 9) || + ($p1 == 9 && $p2 == 6) || + ($p1 == 0 && $p2 == 0) || + ($p1 == 8 && $p2 == 8) || + ($p1 == 1 && $p2 == 1)) { + $i = substr $i, 1, length($i) - 2; + $j--; + $search_length--; + } else { + last; + } + } + + push @answers, $orig + unless ($i); +} + +say join ', ', @answers; diff --git a/challenge-069/javier-luque/perl/ch-2.pl b/challenge-069/javier-luque/perl/ch-2.pl new file mode 100644 index 0000000000..376b7182ee --- /dev/null +++ b/challenge-069/javier-luque/perl/ch-2.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl +# Test: ./ch-2.pl +use Modern::Perl; +use Test::More; + +is (s_thousand(''), '0', 'Test: Empty string'); +is (s_thousand('0'), '001', 'Test: 0'); +is (s_thousand('001'), '0010011', 'Test: 001'); +done_testing(); + +# s1000 +sub s_thousand { + my $string = shift; + return $string . "0" . s_switch(scalar reverse($string)); +} + +# Switch +sub s_switch { + my $string = shift; + $string =~ tr/01/10/; + return $string; +} diff --git a/challenge-069/javier-luque/raku/ch-1.p6 b/challenge-069/javier-luque/raku/ch-1.p6 new file mode 100644 index 0000000000..9c206cce96 --- /dev/null +++ b/challenge-069/javier-luque/raku/ch-1.p6 @@ -0,0 +1,31 @@ +# Test: perl6 ch-1.p6 +sub MAIN(Int $a where $a > 0, Int $b where $b < 10e15) { + my @answers; + for ($a .. $b) -> $orig_i { + my $i = $orig_i.Str; + + # Check and remove 6/9, 9/6 0/0, 1/1, 8/8 pairs + my $search_length = $i.chars / 2; + loop (my $j = 0; $j < $search_length; $j++) { + my $p1 = $i.substr($j, 1); + my $p2 = $i.substr($i.chars - $j - 1, 1); + + if ( ($p1 eq '6' && $p2 eq '9') || + ($p1 eq '9' && $p2 eq '6') || + ($p1 eq '0' && $p2 eq '0') || + ($p1 eq '8' && $p2 eq '8') || + ($p1 eq '1' && $p2 eq '1')) { + $i = $i.substr(1, $i.chars - 2); + $j--; + $search_length--; + } else { + last; + } + + push @answers, $orig_i + unless ($i); + } + } + + say @answers.join(', ' ); +} diff --git a/challenge-069/javier-luque/raku/ch-2.p6 b/challenge-069/javier-luque/raku/ch-2.p6 new file mode 100644 index 0000000000..d78ecf46ea --- /dev/null +++ b/challenge-069/javier-luque/raku/ch-2.p6 @@ -0,0 +1,20 @@ +# Test: perl6 ch-2.p6 +use Test; + +sub MAIN() { + is s-thousand(''), '0', 'Test: Empty string'; + is s-thousand('0'), '001', 'Test: 0'; + is s-thousand('001'), '0010011', 'Test: 001'; + done-testing(); +} + +# s1000 +sub s-thousand(Str $s) { + return $s ~ "0" ~ s-switch($s.flip); +} + +# Switch +sub s-switch(Str $s is copy) { + $s ~~ tr/01/10/; + return $s; +} diff --git a/stats/pwc-challenge-068.json b/stats/pwc-challenge-068.json new file mode 100644 index 0000000000..5c44be1860 --- /dev/null +++ b/stats/pwc-challenge-068.json @@ -0,0 +1,438 @@ +{ + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, + "title" : { + "text" : "Perl Weekly Challenge - 068" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "[Champions: 22] Last updated at 2020-07-13 08:38:12 GMT" + }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 2, + "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov" + }, + { + "drilldown" : "Arne Sommer", + "y" : 5, + "name" : "Arne Sommer" + }, + { + "drilldown" : "Athanasius", + "y" : 4, + "name" : "Athanasius" + }, + { + "drilldown" : "Bartosz Jarzyna", + "y" : 2, + "name" : "Bartosz Jarzyna" + }, + { + "drilldown" : "Cheok-Yin Fung", + "y" : 1, + "name" : "Cheok-Yin Fung" + }, + { + "y" : 5, + "drilldown" : "Colin Crain", + "name" : "Colin Crain" + }, + { + "name" : "E. Choroba", + "drilldown" : "E. Choroba", + "y" : 2 + }, + { + "y" : 5, + "drilldown" : "Javier Luque", + "name" : "Javier Luque" + }, + { + "name" : "Jorg Sommrey", + "y" : 2, + "drilldown" : "Jorg Sommrey" + }, + { + "y" : 4, + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" + }, + { + "y" : 1, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "y" : 5, + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" + }, + { + "name" : "Myoungjin Jeon", + "drilldown" : "Myoungjin Jeon", + "y" : 4 + }, + { + "name" : "Niels van Dijke", + "y" : 2, + "drilldown" : "Niels van Dijke" + }, + { + "y" : 2, + "drilldown" : "Noud Aldenhoven", + "name" : "Noud Aldenhoven" + }, + { + "drilldown" : "Roger Bell_West", + "y" : 3, + "name" : "Roger Bell_West" + }, + { + "drilldown" : "Shahed Nooshmand", + "y" : 3, + "name" : "Shahed Nooshmand" + }, + { + "drilldown" : "Simon Green", + "y" : 2, + "name" : "Simon Green" + }, + { + "drilldown" : "Simon Proctor", + "y" : 2, + "name" : "Simon Proctor" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 3, + "name" : "Ulrich Rieke" + }, + { + "drilldown" : "Walt Mankowski", + "y" : 2, + "name" : "Walt Mankowski" + }, + { + "y" : 2, + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc" + } + ], + "name" : "Perl Weekly Challenge - 068" + } + ], + "drilldown" : { + "series" : [ + { + "id" : "Andrew Shitov", + "data" : [ + [ + "Raku", + 1 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Andrew Shitov" + }, + { + "id" : "Arne Sommer", + "name" : "Arne Sommer", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Athanasius", + "name" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Bartosz Jarzyna", + "id" : "Bartosz Jarzyna" + }, + { + "id" : "Cheok-Yin Fung", + "data" : [ + [ + "Perl", + 1 + ] + ], + "name" : "Cheok-Yin Fung" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Colin Crain", + "id" : "Colin Crain" + }, + { + "id" : "E. Choroba", + "name" : "E. Choroba", + "data" : [ + [ + "Perl", + 2 + ] + ] + }, + { + "id" : "Javier Luque", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Javier Luque" + }, + { + "name" : "Jorg Sommrey", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Jorg Sommrey" + }, + { + "id" : "Luca Ferrari", + "name" : "Luca Ferrari", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 2 + ] + ] + }, + { + "id" : "Mark Anderson", + "data" : [ + [ + "Raku", + 1 + ] + ], + "name" : "Mark Anderson" + }, + { + "id" : "Mohammad S Anwar", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Mohammad S Anwar" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Myoungjin Jeon", + "id" : "Myoungjin Jeon" + }, + { + "name" : "Niels van Dijke", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Niels van Dijke" + }, + { + "name" : "Noud Aldenhoven", + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Noud Aldenhoven" + }, + { + "id" : "Roger Bell_West", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Roger Bell_West" + }, + { + "id" : "Shahed Nooshmand", + "name" : "Shahed Nooshmand", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Simon Green", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Simon Green" + }, + { + "name" : "Simon Proctor", + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Simon Proctor" + }, + { + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "id" : "Walt Mankowski", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Walt Mankowski" + }, + { + "name" : "Wanderdoc", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Wanderdoc" + } + ] + }, + "chart" : { + "type" : "column" + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index f96fce0ac5..359105b9fc 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,111 +1,14 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "subtitle" : { - "text" : "[Champions: 22] Last updated at 2020-07-13 08:34:23 GMT" + "tooltip" : { + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1, + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, "drilldown" : { "series" : [ { - "id" : "Andrew Shitov", - "data" : [ - [ - "Raku", - 1 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Andrew Shitov" - }, - { - "id" : "Arne Sommer", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Arne Sommer" - }, - { - "id" : "Athanasius", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "name" : "Athanasius" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Bartosz Jarzyna", - "name" : "Bartosz Jarzyna" - }, - { - "data" : [ - [ - "Perl", - 1 - ] - ], - "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Colin Crain", - "name" : "Colin Crain" - }, - { - "id" : "E. Choroba", - "data" : [ - [ - "Perl", - 2 - ] - ], - "name" : "E. Choroba" - }, - { - "name" : "Javier Luque", "id" : "Javier Luque", + "name" : "Javier Luque", "data" : [ [ "Perl", @@ -120,319 +23,49 @@ 1 ] ] - }, - { - "name" : "Jorg Sommrey", - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Jorg Sommrey" - }, - { - "name" : "Luca Ferrari", - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 2 - ] - ], - "id" : "Luca Ferrari" - }, - { - "data" : [ - [ - "Raku", - 1 - ] - ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" - }, - { - "name" : "Mohammad S Anwar", - "id" : "Mohammad S Anwar", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ] - }, - { - "name" : "Myoungjin Jeon", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "id" : "Myoungjin Jeon" - }, - { - "id" : "Niels van Dijke", - "data" : [ - [ - "Perl", - 2 - ] - ], - "name" : "Niels van Dijke" - }, - { - "name" : "Noud Aldenhoven", - "id" : "Noud Aldenhoven", - "data" : [ - [ - "Raku", - 2 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Shahed Nooshmand", - "name" : "Shahed Nooshmand" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Simon Green", - "name" : "Simon Green" - }, - { - "id" : "Simon Proctor", - "data" : [ - [ - "Raku", - 2 - ] - ], - "name" : "Simon Proctor" - }, - { - "data" : [ - [ - "Perl", - 1 - ], - [ - "Raku", - 2 - ] - ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" - }, - { - "name" : "Walt Mankowski", - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Walt Mankowski" - }, - { - "id" : "Wanderdoc", - "data" : [ - [ - "Perl", - 2 - ] - ], - "name" : "Wanderdoc" } ] }, - "chart" : { - "type" : "column" - }, "xAxis" : { "type" : "category" }, - "title" : { - "text" : "Perl Weekly Challenge - 068" - }, - "legend" : { - "enabled" : 0 - }, "series" : [ { "colorByPoint" : 1, "data" : [ { - "y" : 2, - "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" - }, - { + "drilldown" : "Javier Luque", "y" : 5, - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer" - }, - { - "drilldown" : "Athanasius", - "y" : 4, - "name" : "Athanasius" - }, - { - "name" : "Bartosz Jarzyna", - "y" : 2, - "drilldown" : "Bartosz Jarzyna" - }, - { - "y" : 1, - "name" : "Cheok-Yin Fung", - "drilldown" : "Cheok-Yin Fung" - }, - { - "y" : 5, - "name" : "Colin Crain", - "drilldown" : "Colin Crain" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "name" : "Javier Luque", - "y" : 5, - "drilldown" : "Javier Luque" - }, - { - "y" : 2, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" - }, - { - "name" : "Luca Ferrari", - "y" : 4, - "drilldown" : "Luca Ferrari" - }, - { - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson", - "y" : 1 - }, - { - "drilldown" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar", - "y" : 5 - }, - { - "y" : 4, - "name" : "Myoungjin Jeon", - "drilldown" : "Myoungjin Jeon" - }, - { - "y" : 2, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" - }, - { - "y" : 2, - "name" : "Noud Aldenhoven", - "drilldown" : "Noud Aldenhoven" - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 3 - }, - { - "name" : "Shahed Nooshmand", - "y" : 3, - "drilldown" : "Shahed Nooshmand" - }, - { - "y" : 2, - "name" : "Simon Green", - "drilldown" : "Simon Green" - }, - { - "drilldown" : "Simon Proctor", - "y" : 2, - "name" : "Simon Proctor" - }, - { - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke", - "y" : 3 - }, - { - "y" : 2, - "name" : "Walt Mankowski", - "drilldown" : "Walt Mankowski" - }, - { - "drilldown" : "Wanderdoc", - "name" : "Wanderdoc", - "y" : 2 + "name" : "Javier Luque" } ], - "name" : "Perl Weekly Challenge - 068" + "name" : "Perl Weekly Challenge - 069" } ], + "legend" : { + "enabled" : 0 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "plotOptions" : { "series" : { "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 } } }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + "title" : { + "text" : "Perl Weekly Challenge - 069" + }, + "subtitle" : { + "text" : "[Champions: 1] Last updated at 2020-07-13 08:38:31 GMT" + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 521cd6cc00..a3552a2054 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,53 +1,38 @@ { - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2020-07-13 08:34:23 GMT" + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" }, "series" : [ { "data" : [ [ "Blog", - 801 + 802 ], [ "Perl", - 2819 + 2821 ], [ "Raku", - 1807 + 1809 ] |
