diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-02-19 10:45:50 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-02-19 10:45:50 +0000 |
| commit | 1f8462dc1530287b987cbfdea1c717849292365d (patch) | |
| tree | 01bbb04f3e81ef599a717e7db918ba8501857077 | |
| parent | 415c482600b3e41fe3b216eaea1dd77ba8c9f374 (diff) | |
| download | perlweeklychallenge-club-1f8462dc1530287b987cbfdea1c717849292365d.tar.gz perlweeklychallenge-club-1f8462dc1530287b987cbfdea1c717849292365d.tar.bz2 perlweeklychallenge-club-1f8462dc1530287b987cbfdea1c717849292365d.zip | |
- Added solutions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-152/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-152/laurent-rosenfeld/perl/ch-1.pl | 18 | ||||
| -rw-r--r-- | challenge-152/laurent-rosenfeld/perl/ch-2.pl | 28 | ||||
| -rw-r--r-- | challenge-152/laurent-rosenfeld/raku/ch-1.raku | 4 | ||||
| -rw-r--r-- | challenge-152/laurent-rosenfeld/raku/ch-2.raku | 17 | ||||
| -rw-r--r-- | stats/pwc-current.json | 207 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 62 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1092 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 768 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 118 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 554 |
19 files changed, 1758 insertions, 1667 deletions
diff --git a/challenge-152/laurent-rosenfeld/blog.txt b/challenge-152/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..d2900f5fbb --- /dev/null +++ b/challenge-152/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/perl-weekly-challenge-152-triangle-sum-path.html diff --git a/challenge-152/laurent-rosenfeld/perl/ch-1.pl b/challenge-152/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..0391011a0c --- /dev/null +++ b/challenge-152/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,18 @@ +use strict; +use warnings; +use feature "say"; + +sub min { + my $min = shift; + for (@_) { + $min = $_ if $_ < $min; + } + return $min; +} + +for my $triangle ([ [1], [5,3], [2,3,4], [7,1,0,2], [6,4,5,2,8] ], + [ [5], [2,3], [4,1,5], [0,1,2,3], [7,2,4,1,9] ]) { + my $sum = 0; + $sum += $_ for map { min(@$_) } @$triangle; + say join " ", (map { "[@$_]"} @$triangle), " -> $sum"; + } diff --git a/challenge-152/laurent-rosenfeld/perl/ch-2.pl b/challenge-152/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..700b08f7ac --- /dev/null +++ b/challenge-152/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,28 @@ +use strict; +use warnings; +use feature "say"; + +sub min { # min of 2 values + return $_[0] < $_[1] ? $_[0] : $_[1]; +} +sub max { # max of 2 values + return $_[0] < $_[1] ? $_[1] : $_[0]; +} +sub compute_area { + my $rect = shift; + my $area = ($rect->[1][0] - $rect->[0][0]) * ($rect->[1][1] - $rect->[0][1]); +} +for my $test ( [ [ [-1,0] , [2,2]], [ [ 0,-1], [4,4] ] ], + [ [ [-3,-1], [1,3]], [ [-1,-3], [2,2] ] ] ) { + my @overlap_rect = + ( [ max($test->[0][0][0], $test->[1][0][0]), # x 1st point + max($test->[0][0][1], $test->[1][0][1]) ], # y 1st point + [ min($test->[0][1][0], $test->[1][1][0]), # x 2nd point + min($test->[0][1][1], $test->[1][1][1]) ] # y 2nd point + ); + my $overlap_area = compute_area([@overlap_rect]); + my $area = compute_area($test->[0]) + compute_area($test->[1]) - $overlap_area; + my $display = "[ (@{$test->[0][0]}) (@{$test->[0][1]}) ] " . + "[ (@{$test->[1][0]}) (@{$test->[1][1]}) ]"; + say "Area of $display is: $area"; +} diff --git a/challenge-152/laurent-rosenfeld/raku/ch-1.raku b/challenge-152/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..4d7517b293 --- /dev/null +++ b/challenge-152/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,4 @@ +for ([1], [5,3], [2,3,4], [7,1,0,2], [6,4,5,2,8]), + ([5], [2,3], [4,1,5], [0,1,2,3], [7,2,4,1,9]) -> @tri { + say @tri, " -> ", sum map { $_.min }, @tri; + } diff --git a/challenge-152/laurent-rosenfeld/raku/ch-2.raku b/challenge-152/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..cc5498046b --- /dev/null +++ b/challenge-152/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,17 @@ +sub compute_area ( @rect) { + my $area = (@rect[1][0] - @rect[0][0]) * (@rect[1][1] - @rect[0][1]); +} +for ( ( ( (-1,0) , (2,2)), ( ( 0,-1), (4,4) ) ), + ( ( (-3,-1), (1,3)), ( (-1,-3), (2,2) ) ) + ) -> $test { + my @overlap_rect = + ( max($test[0][0][0], $test[1][0][0]), # x 1st point + max($test[0][0][1], $test[1][0][1]) ), # y 1st point + ( min($test[0][1][0], $test[1][1][0]), # x 2nd point + min($test[0][1][1], $test[1][1][1]) ); # y 2nd point + my $overlap_area = compute_area @overlap_rect; + my $area = compute_area($test[0]) + compute_area($test[1]) - $overlap_area; + my $display = "[ ($test[0][0]) ($test[0][1]) ] " ~ + "[ ($test[1][0]) ($test[1][1]) ]"; + say "Area of $display is: $area"; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 51fab4c022..cf07c395a3 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,86 +1,119 @@ { + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "legend" : { + "enabled" : 0 + }, + "title" : { + "text" : "The Weekly Challenge - 152" + }, + "chart" : { + "type" : "column" + }, + "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/>" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "series" : [ { "data" : [ { "y" : 2, - "name" : "Abigail", - "drilldown" : "Abigail" + "drilldown" : "Abigail", + "name" : "Abigail" }, { "y" : 4, - "name" : "Alexander Pankoff", - "drilldown" : "Alexander Pankoff" + "drilldown" : "Alexander Pankoff", + "name" : "Alexander Pankoff" }, { - "y" : 1, "name" : "Colin Crain", + "y" : 1, "drilldown" : "Colin Crain" }, { + "name" : "Dave Jacoby", "y" : 4, - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" + "drilldown" : "Dave Jacoby" }, { + "y" : 2, "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 + "name" : "E. Choroba" }, { - "name" : "Flavio Poletti", "drilldown" : "Flavio Poletti", - "y" : 6 + "y" : 6, + "name" : "Flavio Poletti" }, { - "y" : 3, "name" : "James Smith", + "y" : 3, "drilldown" : "James Smith" }, { "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey", - "y" : 2 + "y" : 2, + "name" : "Jorg Sommrey" + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 5 }, { "name" : "Lubos Kolouch", - "drilldown" : "Lubos Kolouch", - "y" : 2 + "y" : 2, + "drilldown" : "Lubos Kolouch" }, { + "drilldown" : "Luca Ferrari", "y" : 4, - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { - "y" : 2, "drilldown" : "Mark Anderson", + "y" : 2, "name" : "Mark Anderson" }, { "drilldown" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith", - "y" : 3 + "y" : 3, + "name" : "Peter Campbell Smith" }, { - "y" : 2, + "name" : "PokGoPun", "drilldown" : "PokGoPun", - "name" : "PokGoPun" + "y" : 2 }, { - "drilldown" : "Robert DiCicco", "name" : "Robert DiCicco", + "drilldown" : "Robert DiCicco", "y" : 2 }, { - "y" : 5, + "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West" + "y" : 5 }, { + "drilldown" : "Ulrich Rieke", "y" : 4, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" + "name" : "Ulrich Rieke" }, { "name" : "W. Luis Mochan", @@ -88,38 +121,18 @@ "y" : 3 } ], - "name" : "The Weekly Challenge - 152", - "colorByPoint" : 1 + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 152" } ], - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2022-02-18 16:08:16 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : 0 - }, - "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 + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { - "id" : "Abigail", "name" : "Abigail", + "id" : "Abigail", "data" : [ [ "Perl", @@ -128,8 +141,6 @@ ] }, { - "id" : "Alexander Pankoff", - "name" : "Alexander Pankoff", "data" : [ [ "Perl", @@ -139,19 +150,22 @@ "Blog", 2 ] - ] + ], + "id" : "Alexander Pankoff", + "name" : "Alexander Pankoff" }, { + "id" : "Colin Crain", "data" : [ [ "Blog", 1 ] ], - "id" : "Colin Crain", "name" : "Colin Crain" }, { + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -162,12 +176,11 @@ 2 ] ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + "id" : "Dave Jacoby" }, { - "id" : "E. Choroba", "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", @@ -176,6 +189,8 @@ ] }, { + "name" : "Flavio Poletti", + "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -189,11 +204,10 @@ "Blog", 2 ] - ], - "name" : "Flavio Poletti", - "id" : "Flavio Poletti" + ] }, { + "name" : "James Smith", "data" : [ [ "Perl", @@ -204,30 +218,48 @@ 1 ] ], - "id" : "James Smith", - "name" : "James Smith" + "id" : "James Smith" }, { "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Jorg Sommrey" }, { "data" : [ [ "Perl", 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 ] ], + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch" + "id" : "Lubos Kolouch", + "data" : [ + [ + "Perl", + 2 + ] + ] }, { + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -238,8 +270,7 @@ 2 ] ], - "id" : "Luca Ferrari", - "name" : "Luca Ferrari" + "id" : "Luca Ferrari" }, { "name" : "Mark Anderson", @@ -252,8 +283,6 @@ ] }, { - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -263,21 +292,23 @@ "Blog", 1 ] - ] + ], + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" }, { - "name" : "PokGoPun", "id" : "PokGoPun", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "PokGoPun" }, { - "id" : "Robert DiCicco", "name" : "Robert DiCicco", + "id" : "Robert DiCicco", "data" : [ [ "Perl", @@ -287,7 +318,6 @@ }, { "id" : "Roger Bell_West", - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -301,11 +331,11 @@ "Blog", 1 ] - ] + ], + "name" : "Roger Bell_West" }, { "name" : "Ulrich Rieke", - "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -315,7 +345,8 @@ "Raku", 2 ] - ] + ], + "id" : "Ulrich Rieke" }, { "data" : [ @@ -328,20 +359,12 @@ 1 ] ], - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan" + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" } ] }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge - 152" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "subtitle" : { + "text" : "[Champions: 18] Last updated at 2022-02-19 10:44:11 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 3edd4ffe27..a75538c22e 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,4 +1,13 @@ { + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "subtitle" : { + "text" : "Last updated at 2022-02-19 10:44:11 GMT" + }, "xAxis" : { "type" : "category", "labels" : { @@ -8,38 +17,12 @@ } } }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, "series" : [ { - "data" : [ - [ - "Blog", - 2282 - ], - [ - "Perl", - 7314 - ], - [ - "Raku", - 4391 - ] - ], "dataLabels" : { "y" : 10, - "align" : "right", "rotation" : -90, + "align" : "right", "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" @@ -48,16 +31,33 @@ "format" : "{point.y:.0f}", "enabled" : "true" }, + "data" : [ + [ + "Blog", + 2283 + ], + [ + "Perl", + 7316 + ], + [ + "Raku", + 4393 + ] + ], "name" : "Contributions" } ], - "legend" : { - "enabled" : "false" + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" }, "chart" : { "type" : "column" }, - "subtitle" : { - "text" : "Last updated at 2022-02-18 16:08:16 GMT" + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" + }, + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index afb5a8d50a..137b14096e 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,46 +1,53 @@ { + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "series" : [ { + "colorByPoint" : "true", + "name" : "The Weekly Challenge Languages", "data" : [ { - "y" : 161, "name" : "#001", + "y" : 161, "drilldown" : "001" }, { - "y" : 125, + "name" : "#002", "drilldown" : "002", - "name" : "#002" + "y" : 125 }, { - "y" : 83, + "name" : "#003", "drilldown" : "003", - "name" : "#003" + "y" : 83 }, { + "name" : "#004", "y" : 99, - "drilldown" : "004", - "name" : "#004" + "drilldown" : "004" }, { - "name" : "#005", "drilldown" : "005", - "y" : 78 + "y" : 78, + "name" : "#005" }, { - "y" : 58, "name" : "#006", - "drilldown" : "006" + "drilldown" : "006", + "y" : 58 }, { - "drilldown" : "007", "name" : "#007", + "drilldown" : "007", "y" : 64 }, { - "y" : 78, + "name" : "#008", "drilldown" : "008", - "name" : "#008" + "y" : 78 }, { "y" : 76, @@ -48,59 +55,59 @@ "name" : "#009" }, { - "y" : 65, "name" : "#010", + "y" : 65, "drilldown" : "010" }, { + "name" : "#011", "y" : 85, - "drilldown" : "011", - "name" : "#011" + "drilldown" : "011" }, { - "drilldown" : "012", "name" : "#012", + "drilldown" : "012", "y" : 89 }, { - "name" : "#013", + "y" : 85, "drilldown" : "013", - "y" : 85 + "name" : "#013" }, { "drilldown" : "014", - "name" : "#014", - "y" : 101 + "y" : 101, + "name" : "#014" }, { - "y" : 99, + "name" : "#015", "drilldown" : "015", - "name" : "#015" + "y" : 99 }, { - "y" : 71, + "name" : "#016", "drilldown" : "016", - "name" : "#016" + "y" : 71 }, { - "y" : 84, + "name" : "#017", "drilldown" : "017", - "name" : "#017" + "y" : 84 }, { - "y" : 81, "drilldown" : "018", + "y" : 81, "name" : "#018" }, { - "y" : 103, "name" : "#019", - "drilldown" : "019" + "drilldown" : "019", + "y" : 103 }, { + "y" : 101, "drilldown" : "020", - "name" : "#020", - "y" : 101 + "name" : "#020" }, { "name" : "#021", @@ -108,19 +115,19 @@ "y" : 72 }, { - "drilldown" : "022", "name" : "#022", + "drilldown" : "022", "y" : 68 }, { - "name" : "#023", + "y" : 97, "drilldown" : "023", - "y" : 97 + "name" : "#023" }, { - "name" : "#024", "drilldown" : "024", - "y" : 75 + "y" : 75, + "name" : "#024" }, { "y" : 59, @@ -128,24 +135,24 @@ "name" : "#025" }, { - "name" : "#026", "drilldown" : "026", - "y" : 74 + "y" : 74, + "name" : "#026" }, { + "name" : "#027", "y" : 62, - "drilldown" : "027", - "name" : "#027" + "drilldown" : "027" }, { - "name" : "#028", + "y" : 82, "drilldown" : "028", - "y" : 82 + "name" : "#028" }, { - "name" : "#029", "drilldown" : "029", - "y" : 81 + "y" : 81, + "name" : "#029" }, { "y" : 119, @@ -153,39 +160,39 @@ "name" : "#030" }, { - "y" : 91, + "name" : "#031", "drilldown" : "031", - "name" : "#031" + "y" : 91 }, { "y" : 96, - "name" : "#032", - "drilldown" : "032" + "drilldown" : "032", + "name" : "#032" }, { + "y" : 112, "drilldown" : "033", - "name" : "#033", - "y" : 112 + "name" : "#033" }, { - "drilldown" : "034", "name" : "#034", + "drilldown" : "034", "y" : 66 }, { - "y" : 66, "name" : "#035", + "y" : 66, "drilldown" : "035" }, { - "y" : 68, "drilldown" : "036", + "y" : 68, "name" : "#036" }, { + "y" : 67, "drilldown" : "037", - "name" : "#037", - "y" : 67 + "name" : "#037" }, { "y" : 68, @@ -193,14 +200,14 @@ "name" : "#038" }, { - "name" : "#039", + "y" : 62, "drilldown" : "039", - "y" : 62 + "name" : "#039" }, { - "name" : "#040", "drilldown" : "040", - "y" : 73 + "y" : 73, + "name" : "#040" }, { "y" : 76, @@ -208,18 +215,18 @@ "name" : "#041" }, { - "drilldown" : "042", "name" : "#042", - "y" : 92 + "y" : 92, + "drilldown" : "042" }, { - "drilldown" : "043", "name" : "#043", - "y" : 68 + "y" : 68, + "drilldown" : "043" }, { - "drilldown" : "044", "name" : "#044", + "drilldown" : "044", "y" : 85 }, { @@ -228,68 +235,68 @@ "y" : 96 }, { - "drilldown" : "046", "name" : "#046", + "drilldown" : "046", "y" : 87 }, { + "y" : 84, "drilldown" : "047", - "name" : "#047", - "y" : 84 + "name" : "#047" }, { + "drilldown" : "048", "y" : 108, - "name" : "#048", - "drilldown" : "048" + "name" : "#048" }, { - "y" : 89, "name" : "#049", + "y" : 89, "drilldown" : "049" }, { - "y" : 98, "drilldown" : "050", + "y" : 98, "name" : "#050" }, { "drilldown" : "051", - "name" : "#051", - "y" : 89 + "y" : 89, + "name" : "#051" }, { "y" : 91, - "name" : "#052", - "drilldown" : "052" + "drilldown" : "052", + "name" : "#052" }, { + "y" : 101, "drilldown" : "053", - "name" : "#053", - "y" : 101 + "name" : "#053" }, { - "y" : 103, "name" : "#054", + "y" : 103, "drilldown" : "054" }, { - "drilldown" : "055", "name" : "#055", - "y" : 88 + "y" : 88, + "drilldown" : "055" }, { - "drilldown" : "056", "name" : "#056", + "drilldown" : "056", "y" : 95 }, { + "y" : 80, "drilldown" : "057", - "name" : "#057", - "y" : 80 + "name" : "#057" }, { - "y" : 69, "name" : "#058", + "y" : 69, "drilldown" : "058" |
