diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-05-21 19:59:48 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-05-21 19:59:48 +0100 |
| commit | f2bd029be3ebb1ae049a7cdb5c27e4b56cc68d3a (patch) | |
| tree | cacf4a667ae94ec2ec4bcbbb28fa46ec88ab2ae4 | |
| parent | e391e8331ff37be041d57e545e6a3ee08fd4e226 (diff) | |
| download | perlweeklychallenge-club-f2bd029be3ebb1ae049a7cdb5c27e4b56cc68d3a.tar.gz perlweeklychallenge-club-f2bd029be3ebb1ae049a7cdb5c27e4b56cc68d3a.tar.bz2 perlweeklychallenge-club-f2bd029be3ebb1ae049a7cdb5c27e4b56cc68d3a.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-061/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-061/laurent-rosenfeld/perl/ch-1.pl | 12 | ||||
| -rw-r--r-- | challenge-061/laurent-rosenfeld/perl/ch-2.pl | 24 | ||||
| -rw-r--r-- | challenge-061/laurent-rosenfeld/raku/ch-1.p6 | 9 | ||||
| -rw-r--r-- | challenge-061/laurent-rosenfeld/raku/ch-1a.p6 | 3 | ||||
| -rw-r--r-- | challenge-061/laurent-rosenfeld/raku/ch-2.p6 | 11 | ||||
| -rw-r--r-- | stats/pwc-current.json | 167 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 46 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 470 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 430 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 76 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 122 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 368 |
17 files changed, 1082 insertions, 999 deletions
diff --git a/challenge-061/laurent-rosenfeld/blog.txt b/challenge-061/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..d58de3d9f4 --- /dev/null +++ b/challenge-061/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2020/05/perl-weekly-challenge-61-max-subarray-product-and-ip-address-partition.html diff --git a/challenge-061/laurent-rosenfeld/perl/ch-1.pl b/challenge-061/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..2f43b8111a --- /dev/null +++ b/challenge-061/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,12 @@ +use strict; +use warnings; +use feature qw /say/; + +my @input = @ARGV; +die "please supply at least two integers" if @input < 2; +my @max = ($input[0] * $input[1], $input[0], $input[1]); +for my $i (1..$#input) { + @max = ($input[$i] * $input[$i+1], $input[$i], $input[$i+1]) + if $max[0] < $input[$i] * $input[$i+1]; +} +say "Max product is $max[0] for values $max[1] and $max[2]"; diff --git a/challenge-061/laurent-rosenfeld/perl/ch-2.pl b/challenge-061/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..95c52b85b5 --- /dev/null +++ b/challenge-061/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,24 @@ +use strict; +use warnings; +use feature qw /say/; + +sub partition { + my ($out, @in) = @_; + for my $nb_digits (0..2) { + return if $nb_digits > $#in; + my $num = join "", @in[0..$nb_digits]; + return if $num > 255; + return if $num =~ /^0\d/; + my @left_digits = @in[$nb_digits+1..$#in]; + my $new_out = $out eq "" ? $num : ($out . ".$num"); + if (@left_digits == 0) { + say $new_out if $new_out =~ /^\d+\.\d+\.\d+\.\d+$/; + return; + } + partition ($new_out, @left_digits); + } +} + +my $in = shift // 25525511135; +my @digits = split //, $in; +partition "", @digits; diff --git a/challenge-061/laurent-rosenfeld/raku/ch-1.p6 b/challenge-061/laurent-rosenfeld/raku/ch-1.p6 new file mode 100644 index 0000000000..d9295b4753 --- /dev/null +++ b/challenge-061/laurent-rosenfeld/raku/ch-1.p6 @@ -0,0 +1,9 @@ +use v6; + +my @input = @*ARGS; +my @max = @input[0] * @input[1], @input[0], @input[1]; +for 1..^@input.end -> $i { + @max = @input[$i] * @input[$i+1], @input[$i], @input[$i+1] + if @max[0] < @input[$i] * @input[$i+1]; +} +say "Max product is @max[0] for values @max[1] and @max[2]"; diff --git a/challenge-061/laurent-rosenfeld/raku/ch-1a.p6 b/challenge-061/laurent-rosenfeld/raku/ch-1a.p6 new file mode 100644 index 0000000000..1ba9f51849 --- /dev/null +++ b/challenge-061/laurent-rosenfeld/raku/ch-1a.p6 @@ -0,0 +1,3 @@ +use v6; + +say @*ARGS.rotor(2 => -1).max({$_[0] * $_[1]}); diff --git a/challenge-061/laurent-rosenfeld/raku/ch-2.p6 b/challenge-061/laurent-rosenfeld/raku/ch-2.p6 new file mode 100644 index 0000000000..4a0685cff2 --- /dev/null +++ b/challenge-061/laurent-rosenfeld/raku/ch-2.p6 @@ -0,0 +1,11 @@ +use v6; + +my $octet = rx {( || 0 + || <[ 1..9 ]> \d ** 0..2 + ) <?{0 <= $0 <= 255}> + }; +sub MAIN (Int $in = 122202128) { + for $in ~~ m:ex/^ (<$octet>) ** 4 $/ -> $match { + say join ".", $match[0]; + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 2139f3718a..6e5695fb39 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,10 +1,20 @@ { - "xAxis" : { - "type" : "category" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "chart" : { + "type" : "column" }, "legend" : { "enabled" : 0 }, + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + }, "drilldown" : { "series" : [ { @@ -23,6 +33,7 @@ }, { "id" : "Donald Hunter", + "name" : "Donald Hunter", "data" : [ [ "Raku", @@ -32,20 +43,20 @@ "Blog", 1 ] - ], - "name" : "Donald Hunter" + ] }, { - "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "id" : "E. Choroba" + "id" : "E. Choroba", + "name" : "E. Choroba" }, { + "id" : "Javier Luque", "name" : "Javier Luque", "data" : [ [ @@ -60,8 +71,7 @@ "Blog", 1 ] - ], - "id" : "Javier Luque" + ] }, { "data" : [ @@ -74,8 +84,26 @@ "id" : "Jorg Sommrey" }, { - "id" : "Luca Ferrari", + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -88,17 +116,18 @@ ] }, { - "id" : "Mark Anderson", - "name" : "Mark Anderson", "data" : [ [ "Raku", 1 ] - ] + ], + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -112,11 +141,9 @@ "Blog", 1 ] - ], - "id" : "Mohammad S Anwar" + ] }, { - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -131,19 +158,22 @@ 1 ] ], + "id" : "Roger Bell_West", "name" : "Roger Bell_West" }, { "id" : "Saif Ahmed", + "name" : "Saif Ahmed", "data" : [ [ "Perl", 2 ] - ], - "name" : "Saif Ahmed" + ] }, { + "name" : "Sangeet Kar", + "id" : "Sangeet Kar", "data" : [ [ "Perl", @@ -153,19 +183,17 @@ "Raku", 2 ] - ], - "name" : "Sangeet Kar", - "id" : "Sangeet Kar" + ] }, { + "id" : "Simon Proctor", "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ], - "id" : "Simon Proctor" + ] }, { "data" : [ @@ -182,8 +210,8 @@ "id" : "Ulrich Rieke" }, { - "id" : "Wanderdoc", "name" : "Wanderdoc", + "id" : "Wanderdoc", "data" : [ [ "Perl", @@ -192,20 +220,27 @@ ] }, { + "name" : "Yet Ebreo", + "id" : "Yet Ebreo", "data" : [ [ "Perl", 2 ] - ], - "name" : "Yet Ebreo", - "id" : "Yet Ebreo" + ] } ] }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "title" : { + "text" : "Perl Weekly Challenge - 061" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } } }, "series" : [ @@ -218,34 +253,39 @@ "y" : 3 }, { - "drilldown" : "Donald Hunter", "name" : "Donald Hunter", - "y" : 2 + "y" : 2, + "drilldown" : "Donald Hunter" }, { - "drilldown" : "E. Choroba", "name" : "E. Choroba", - "y" : 2 + "y" : 2, + "drilldown" : "E. Choroba" }, { - "drilldown" : "Javier Luque", "name" : "Javier Luque", + "drilldown" : "Javier Luque", "y" : 5 }, { "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey", - "y" : 2 + "y" : 2, + "drilldown" : "Jorg Sommrey" }, { - "name" : "Luca Ferrari", + "y" : 5, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { + "y" : 4, "drilldown" : "Luca Ferrari", - "y" : 4 + "name" : "Luca Ferrari" }, { "name" : "Mark Anderson", - "drilldown" : "Mark Anderson", - "y" : 1 + "y" : 1, + "drilldown" : "Mark Anderson" }, { "y" : 5, @@ -253,65 +293,48 @@ "name" : "Mohammad S Anwar" }, { - "drilldown" : "Roger Bell_West", "name" : "Roger Bell_West", - "y" : 4 + "y" : 4, + "drilldown" : "Roger Bell_West" }, { + "drilldown" : "Saif Ahmed", "y" : 2, - "name" : "Saif Ahmed", - "drilldown" : "Saif Ahmed" + "name" : "Saif Ahmed" }, { - "y" : 4, "name" : "Sangeet Kar", - "drilldown" : "Sangeet Kar" + "drilldown" : "Sangeet Kar", + "y" : 4 }, { - "y" : 2, "drilldown" : "Simon Proctor", + "y" : 2, "name" : "Simon Proctor" }, { - "name" : "Ulrich Rieke", + "y" : 3, "drilldown" : "Ulrich Rieke", - "y" : 3 + "name" : "Ulrich Rieke" }, { - "drilldown" : "Wanderdoc", "name" : "Wanderdoc", + "drilldown" : "Wanderdoc", "y" : 2 }, { - "y" : 2, "name" : "Yet Ebreo", - "drilldown" : "Yet Ebreo" + "drilldown" : "Yet Ebreo", + "y" : 2 } ], "name" : "Perl Weekly Challenge - 061" } ], - "title" : { - "text" : "Perl Weekly Challenge - 061" + "xAxis" : { + "type" : "category" }, "subtitle" : { - "text" : "[Champions: 15] Last updated at 2020-05-21 18:21:45 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : 1 + "text" : "[Champions: 16] Last updated at 2020-05-21 18:59:36 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 9f23fe32ca..72030e9d49 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,6 +1,6 @@ { - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + "legend" : { + "enabled" : "false" }, "yAxis" : { "title" : { @@ -8,56 +8,56 @@ }, "min" : 0 }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Last updated at 2020-05-21 18:59:36 GMT" + }, "series" : [ { "name" : "Contributions", "data" : [ [ "Blog", - 699 + 700 ], [ "Perl", - 2561 + 2563 ], [ "Raku", - 1611 + 1613 ] ], "dataLabels" : { - "color" : "#FFFFFF", - "format" : "{point.y:.0f}", - "enabled" : "true", - "align" : "right", - "y" : 10, "rotation" : -90, + "align" : "right", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "enabled" : "true", + "format" : "{point.y:.0f}", + "y" : 10, + "color" : "#FFFFFF" } } ], - "legend" : { - "enabled" : "false" - }, "xAxis" : { "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } }, "type" : "category" }, - "chart" : { - "type" : "column" + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "subtitle" : { - "text" : "Last updated at 2020-05-21 18:21:45 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index b1e0abd561..e77023ba88 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,67 +1,66 @@ { "series" : [ { - "colorByPoint" : "true", "data" : [ { - "y" : 142, + "name" : "#001", "drilldown" : "001", - "name" : "#001" + "y" : 142 }, { - "y" : 109, "name" : "#002", + "y" : 109, "drilldown" : "002" }, { "drilldown" : "003", - "name" : "#003", - "y" : 71 + "y" : 71, + "name" : "#003" }, { + "drilldown" : "004", "y" : 91, - "name" : "#004", - "drilldown" : "004" + "name" : "#004" }, { - "y" : 72, "name" : "#005", + "y" : 72, "drilldown" : "005" }, { - "name" : "#006", "drilldown" : "006", - "y" : 52 + "y" : 52, + "name" : "#006" }, { - "drilldown" : "007", "name" : "#007", + "drilldown" : "007", "y" : 59 }, { - "name" : "#008", "drilldown" : "008", - "y" : 72 + "y" : 72, + "name" : "#008" }, { - "name" : "#009", + "y" : 68, "drilldown" : "009", - "y" : 68 + "name" : "#009" }, { "name" : "#010", - "drilldown" : "010", - "y" : 60 + "y" : 60, + "drilldown" : "010" }, { - "y" : 79, + "name" : "#011", "drilldown" : "011", - "name" : "#011" + "y" : 79 }, { "drilldown" : "012", - "name" : "#012", - "y" : 83 + "y" : 83, + "name" : "#012" }, { "y" : 76, @@ -69,8 +68,8 @@ "name" : "#013" }, { - "y" : 96, "drilldown" : "014", + "y" : 96, "name" : "#014" }, { @@ -79,9 +78,9 @@ "name" : "#015" }, { - "drilldown" : "016", "name" : "#016", - "y" : 66 + "y" : 66, + "drilldown" : "016" }, { "name" : "#017", @@ -94,109 +93,109 @@ "y" : 76 }, { + "drilldown" : "019", "y" : 97, - "name" : "#019", - "drilldown" : "019" + "name" : "#019" }, { - "name" : "#020", "drilldown" : "020", - "y" : 95 + "y" : 95, + "name" : "#020" }, { - "name" : "#021", + "y" : 67, "drilldown" : "021", - "y" : 67 + "name" : "#021" }, { - "y" : 63, "name" : "#022", + "y" : 63, "drilldown" : "022" }, { "y" : 91, - "name" : "#023", - "drilldown" : "023" + "drilldown" : "023", + "name" : "#023" }, { "y" : 70, - "name" : "#024", - "drilldown" : "024" + "drilldown" : "024", + "name" : "#024" }, { + "y" : 55, "drilldown" : "025", - "name" : "#025", - "y" : 55 + "name" : "#025" }, { + "drilldown" : "026", "y" : 70, - "name" : "#026", - "drilldown" : "026" + "name" : "#026" }, { - "y" : 58, + "name" : "#027", "drilldown" : "027", - "name" : "#027" + "y" : 58 }, { - "drilldown" : "028", "name" : "#028", + "drilldown" : "028", "y" : 78 }, { - "drilldown" : "029", "name" : "#029", + "drilldown" : "029", "y" : 77 }, { - "drilldown" : "030", "name" : "#030", + "drilldown" : "030", "y" : 115 }, { - "drilldown" : "031", "name" : "#031", - "y" : 87 + "y" : 87, + "drilldown" : "031" }, { - "name" : "#032", "drilldown" : "032", - "y" : 92 + "y" : 92, + "name" : "#032" }, { - "drilldown" : "033", "name" : "#033", - "y" : 108 + "y" : 108, + "drilldown" : "033" }, { - "name" : "#034", + "y" : 62, "drilldown" : "034", - "y" : 62 + "name" : "#034" }, { - "y" : 62, "drilldown" : "035", + "y" : 62, "name" : "#035" }, { + "name" : "#036", "y" : 66, - "drilldown" : "036", - "name" : "#036" + "drilldown" : "036" }, { - "y" : 65, "name" : "#037", + "y" : 65, "drilldown" : "037" }, { - "drilldown" : "038", "name" : "#038", - "y" : 65 + "y" : 65, + "drilldown" : "038" }, { + "y" : 60, "drilldown" : "039", - "name" : "#039", - "y" : 60 + "name" : "#039" }, { "y" : 71, @@ -204,49 +203,49 @@ "name" : "#040" }, { - "y" : 74, "name" : "#041", - "drilldown" : "041" + "drilldown" : "041", + "y" : 74 }, { "name" : "#042", - "drilldown" : "042", - "y" : 88 + "y" : 88, + "drilldown" : "042" }, { + "y" : 66, "drilldown" : "043", - "name" : "#043", - "y" : 66 + "name" : "#043" }, { + "drilldown" : "044", "y" : 82, - "name" : "#044", - "drilldown" : "044" + "name" : "#044" }, { - "name" : "#045", + "y" : 94, "drilldown" : "045", - "y" : 94 + "name" : "#045" }, { - "drilldown" : "046", "name" : "#046", + "drilldown" : "046", "y" : 85 }, { - "name" : "#047", + "y" : 82, "drilldown" : "047", - "y" : 82 + "name" : "#047" }, { + "drilldown" : "048", "y" : 106, - "name" : "#048", - "drilldown" : "048" + "name" : "#048" }, { - "name" : "#049", "drilldown" : "049", - "y" : 85 + "y" : 85, + "name" : "#049" }, { "y" : 96, @@ -254,19 +253,19 @@ "name" : "#050" }, { - "name" : "#051", + "y" : 87, "drilldown" : "051", - "y" : 87 + "name" : "#051" }, { - "drilldown" : "052", "name" : "#052", + "drilldown" : "052", "y" : 89 }, { + "drilldown" : "053", "y" : 99, - "name" : "#053", - "drilldown" : "053" + "name" : "#053" }, { "y" : 99, @@ -274,62 +273,71 @@ "name" : "#054" }, { - "name" : "#055", + "y" : 86, "drilldown" : "055", - "y" : 86 + "name" : "#055" }, { "name" : "#056", - "drilldown" : "056", - "y" : 93 + "y" : 93, + "drilldown" : "056" }, { - "y" : 78, "drilldown" : "057", + "y" : 78, "name" : "#057" }, { - "y" : 61, + "name" : "#058", "drilldown" : "058", - "name" : "#058" + "y" : 61 }, { - "name" : "#059", "drilldown" : "059", - "y" : 82 + "y" : 82, + "name" : "#059" }, { - "name" : "#060", "drilldown" : "060", - "y" : 78 + "y" : 78, + "name" : "#060" }, { - "y" : 43, - "drilldown" : "061", - "name" : "#061" + "name" : "#061", + "y" : 48, + "drilldown" : "061" } ], + "colorByPoint" : "true", "name" : "Perl Weekly Challenge Languages" } ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } } }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, "xAxis" : { "type" : "category" }, - "legend" : { - "enabled" : "false" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-05-21 18:59:36 GMT" + }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" }, "drilldown" : { "series" : [ { - "id" : "001", "data" : [ [ "Perl", @@ -344,9 +352,11 @@ 11 ] ], + "id" : "001", "name" : "001" }, { + "name" : "002", "id" : "002", "data" : [ [ @@ -361,8 +371,7 @@ "Blog", 10 ] - ], - "name" : "002" + ] }, { "id" : "003", @@ -383,7 +392,6 @@ ] }, { - "id" : "004", "data" : [ [ "Perl", @@ -398,10 +406,10 @@ 10 ] ], - "name" : "004" + "name" : "004", + "id" : "004" }, { - "id" : "005", "data" : [ [ "Perl", @@ -416,9 +424,12 @@ 12 ] |
