diff options
| -rw-r--r-- | challenge-056/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-056/laurent-rosenfeld/perl/ch-1.pl | 18 | ||||
| -rw-r--r-- | challenge-056/laurent-rosenfeld/perl/ch-2.pl | 21 | ||||
| -rw-r--r-- | challenge-056/laurent-rosenfeld/raku/ch-1.p6 | 16 | ||||
| -rw-r--r-- | challenge-056/laurent-rosenfeld/raku/ch-2.p6 | 17 | ||||
| -rw-r--r-- | stats/pwc-current.json | 177 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 48 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 838 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 384 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 24 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 118 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 28 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 46 |
16 files changed, 1000 insertions, 904 deletions
diff --git a/challenge-056/laurent-rosenfeld/blog.txt b/challenge-056/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..826667d1b7 --- /dev/null +++ b/challenge-056/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2020/04/perl-weekly-challenge-56-diff-k-and-path-sum.html diff --git a/challenge-056/laurent-rosenfeld/perl/ch-1.pl b/challenge-056/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..15ad5b1346 --- /dev/null +++ b/challenge-056/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,18 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +sub find_diff { + my ($diff, @array) = @_; + for my $i (0..$#array - 1) { + for my $j ($i +1.. $#array) { + say "Indices $j and $i (values: $array[$j], $array[$i])" + if $array[$j] - $array[$i] == $diff; + } + } +} +my $k = shift // 2; +my @N = @ARGV; +@N = (2, 7, 9) unless @N; +find_diff $k, @N; diff --git a/challenge-056/laurent-rosenfeld/perl/ch-2.pl b/challenge-056/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..1b177f8275 --- /dev/null +++ b/challenge-056/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl +use strict; +use warnings; +use feature qw/say/; + +my $tree = [5, [4, [11, [7], [2]]], [8, [13], [9, [1]]]] ; + +sub dfs { + my ($node, $target, $sum, $path) = @_; + my $new_sum = $sum + $node->[0]; + unless (exists $node->[1] or exists $node->[2]) { + say $new_sum, " -> @$path $node->[0]" if $new_sum == $target; + } + dfs($node->[1], $target, $new_sum, [@$path, $node->[0]]) + if defined $node->[1]; + dfs($node->[2], $target, $new_sum, [@$path, $node->[0]]) + if defined $node->[2]; +} + +my $target = shift // 22; +dfs($tree, $target, 0, []); diff --git a/challenge-056/laurent-rosenfeld/raku/ch-1.p6 b/challenge-056/laurent-rosenfeld/raku/ch-1.p6 new file mode 100644 index 0000000000..e6c7c2198c --- /dev/null +++ b/challenge-056/laurent-rosenfeld/raku/ch-1.p6 @@ -0,0 +1,16 @@ +use v6; + +sub find-diff ($diff, @array) { + for (0..@array.end).combinations: 2 -> ($i, $j) { + say "Indices $j and $i (values: @array[$j], @array[$i])" + if @array[$j] - @array[$i] == $diff; + } +} +my ($k, @N); +if @*ARGS.elems > 2 { + ($k, @N) = @*ARGS; +} else { + $k = 2; + @N = 2, 7, 9; +} +find-diff $k, @N; diff --git a/challenge-056/laurent-rosenfeld/raku/ch-2.p6 b/challenge-056/laurent-rosenfeld/raku/ch-2.p6 new file mode 100644 index 0000000000..abe04caa1c --- /dev/null +++ b/challenge-056/laurent-rosenfeld/raku/ch-2.p6 @@ -0,0 +1,17 @@ +use v6; + +my @tree = [5, [4, [11, [7], [2]]], [8, [13], [9, [1]]]] ; + +sub dfs (@node, $target, $sum, @path) { + my $new-sum = $sum + @node[0]; + unless @node[1]:exists or @node[2]:exists { + say $new-sum, " -> @path[] @node[0]" if $new-sum == $target; + } + dfs(@node[1], $target, $new-sum, (@path, @node[0]).flat) + if defined @node[1]; + dfs(@node[2], $target, $new-sum, (@path, @node[0]).flat) + if defined @node[2]; +} + +my $target = @*ARGS.elems == 1 ?? @*ARGS[0] !! 22; +dfs(@tree, $target, 0, []); diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 882c9e2f23..dd8f7f7f7c 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,66 +1,57 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "subtitle" : { - "text" : "[Champions: 16] Last updated at 2020-04-18 20:08:38 GMT" - }, - "tooltip" : { - "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/>", - "followPointer" : 1 - }, "series" : [ { "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 056", "data" : [ { - "y" : 2, "drilldown" : "Andrezgz", - "name" : "Andrezgz" + "name" : "Andrezgz", + "y" : 2 }, { - "y" : 1, "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung" + "name" : "Cheok-Yin Fung", + "y" : 1 }, { - "name" : "Cristina Heredia", "y" : 1, - "drilldown" : "Cristina Heredia" + "drilldown" : "Cristina Heredia", + "name" : "Cristina Heredia" }, { - "name" : "Dave Jacoby", "y" : 3, - "drilldown" : "Dave Jacoby" + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "name" : "E. Choroba", "drilldown" : "E. Choroba", + "name" : "E. Choroba", "y" : 2 }, { + "y" : 5, "name" : "Javier Luque", - "drilldown" : "Javier Luque", - "y" : 5 + "drilldown" : "Javier Luque" }, { - "y" : 2, "drilldown" : "Kevin Colyer", - "name" : "Kevin Colyer" + "name" : "Kevin Colyer", + "y" : 2 + }, + { + "y" : 5, + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld" }, { - "name" : "Lubos Kolouch", "y" : 2, - "drilldown" : "Lubos Kolouch" + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch" }, { + "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari", - "y" : 4, - "drilldown" : "Luca Ferrari" + "y" : 4 }, { "name" : "Mark Anderson", @@ -78,48 +69,52 @@ "name" : "Matthew Somerville" }, { - "y" : 4, + "name" : "Mohammad S Anwar", "drilldown" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar" + "y" : 4 }, { - "name" : "Roger Bell West", "drilldown" : "Roger Bell West", + "name" : "Roger Bell West", "y" : 3 }, { - "drilldown" : "Simon Proctor", "y" : 2, + "drilldown" : "Simon Proctor", "name" : "Simon Proctor" }, { + "y" : 1, "name" : "Wanderdoc", - "drilldown" : "Wanderdoc", - "y" : 1 + "drilldown" : "Wanderdoc" } - ] + ], + "name" : "Perl Weekly Challenge - 056" } ], "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { "format" : "{point.y}", "enabled" : 1 - } + }, + "borderWidth" : 0 } }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "id" : "Andrezgz", - "name" : "Andrezgz", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Andrezgz", + "name" : "Andrezgz" }, { "data" : [ @@ -128,21 +123,20 @@ 1 ] ], - "name" : "Cheok-Yin Fung", - "id" : "Cheok-Yin Fung" + "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" }, { - "name" : "Cristina Heredia", "id" : "Cristina Heredia", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Cristina Heredia" }, { - "name" : "Dave Jacoby", "id" : "Dave Jacoby", "data" : [ [ @@ -153,21 +147,20 @@ "Blog", 1 ] - ] + ], + "name" : "Dave Jacoby" }, { + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba", - "id" : "E. Choroba" + "name" : "E. Choroba" }, { - "name" : "Javier Luque", - "id" : "Javier Luque", "data" : [ [ "Perl", @@ -181,27 +174,47 @@ "Blog", 1 ] - ] + ], + "id" : "Javier Luque", + "name" : "Javier Luque" }, { "name" : "Kevin Colyer", - "id" : "Kevin Colyer", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Kevin Colyer" }, { + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 ] ], - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch" + "id" : "Laurent Rosenfeld" + }, + { + "id" : "Lubos Kolouch", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Lubos Kolouch" }, { "data" : [ @@ -214,11 +227,10 @@ 2 ] ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { - "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ @@ -229,17 +241,18 @@ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { - "name" : "Markus Holzer", - "id" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Markus Holzer", + "name" : "Markus Holzer" }, { "data" : [ @@ -252,10 +265,11 @@ 1 ] ], - "name" : "Matthew Somerville", - "id" : "Matthew Somerville" + "id" : "Matthew Somerville", + "name" : "Matthew Somerville" }, { + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -266,10 +280,10 @@ 2 ] ], - "id" : "Mohammad S Anwar", "name" : "Mohammad S Anwar" }, { + "name" : "Roger Bell West", "data" : [ [ "Perl", @@ -280,40 +294,49 @@ 1 ] ], - "id" : "Roger Bell West", - "name" : "Roger Bell West" + "id" : "Roger Bell West" }, { + "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "id" : "Simon Proctor", "name" : "Simon Proctor" }, { - "name" : "Wanderdoc", - "id" : "Wanderdoc", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Wanderdoc", + "id" : "Wanderdoc" } ] }, "title" : { "text" : "Perl Weekly Challenge - 056" }, - "xAxis" : { - "type" : "category" - }, "chart" : { "type" : "column" }, + "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/>" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 17] Last updated at 2020-04-18 20:26:09 GMT" + }, "legend" : { "enabled" : 0 } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 90239a9a4a..7349f6cf8d 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,10 +1,4 @@ { - "subtitle" : { - "text" : "Last updated at 2020-04-18 20:08:38 GMT" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, "yAxis" : { "min" : 0, "title" : { @@ -14,49 +8,55 @@ "chart" : { "type" : "column" }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, "legend" : { "enabled" : "false" }, + "subtitle" : { + "text" : "Last updated at 2020-04-18 20:26:09 GMT" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" + }, "series" : [ { - "name" : "Contributions", "dataLabels" : { - "color" : "#FFFFFF", - "align" : "right", + "rotation" : -90, "y" : 10, "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, + "color" : "#FFFFFF", "enabled" : "true", - "rotation" : -90, + "align" : "right", "format" : "{point.y:.0f}" }, + "name" : "Contributions", "data" : [ [ "Blog", - 616 + 617 ], [ "Perl", - 2362 + 2364 ], [ "Raku", - 1479 + 1481 ] ] } ], - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" - }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index f2c27e5fc2..67094b3e0f 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,307 +1,8 @@ { - "series" : [ - { - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages", - "data" : [ - { - "name" : "#001", - "y" : 140, - "drilldown" : "001" - }, - { - "name" : "#002", - "drilldown" : "002", - "y" : 109 - }, - { - "name" : "#003", - "y" : 71, - "drilldown" : "003" - }, - { - "y" : 91, - "drilldown" : "004", - "name" : "#004" - }, - { - "drilldown" : "005", - "y" : 71, - "name" : "#005" - }, - { - "name" : "#006", - "drilldown" : "006", - "y" : 52 - }, - { - "drilldown" : "007", - "y" : 58, - "name" : "#007" - }, - { - "name" : "#008", - "y" : 70, - "drilldown" : "008" - }, - { - "drilldown" : "009", - "y" : 68, - "name" : "#009" - }, - { - "name" : "#010", - "drilldown" : "010", - "y" : 60 - }, - { - "drilldown" : "011", - "y" : 79, - "name" : "#011" - }, - { - "drilldown" : "012", - "y" : 83, - "name" : "#012" - }, - { - "name" : "#013", - "y" : 76, - "drilldown" : "013" - }, - { - "name" : "#014", - "drilldown" : "014", - "y" : 96 - }, - { - "y" : 93, - "drilldown" : "015", - "name" : "#015" - }, - { - "name" : "#016", - "drilldown" : "016", - "y" : 66 - }, - { - "y" : 79, - "drilldown" : "017", - "name" : "#017" - }, - { - "name" : "#018", - "y" : 76, - "drilldown" : "018" - }, - { - "name" : "#019", - "drilldown" : "019", - "y" : 97 - }, - { - "name" : "#020", - "y" : 95, - "drilldown" : "020" - }, - { - "y" : 67, - "drilldown" : "021", - "name" : "#021" - }, - { - "name" : "#022", - "y" : 63, - "drilldown" : "022" - }, - { - "name" : "#023", - "y" : 91, - "drilldown" : "023" - }, - { - "name" : "#024", - "y" : 70, - "drilldown" : "024" - }, - { - "y" : 55, - "drilldown" : "025", - "name" : "#025" - }, - { - "y" : 70, - "drilldown" : "026", - "name" : "#026" - }, - { - "drilldown" : "027", - "y" : 58, - "name" : "#027" - }, - { - "name" : "#028", - "y" : 78, - "drilldown" : "028" - }, - { - "y" : 77, - "drilldown" : "029", - "name" : "#029" - }, - { - "drilldown" : "030", - "y" : 115, - "name" : "#030" - }, - { - "name" : "#031", - "drilldown" : "031", - "y" : 87 - }, - { - "drilldown" : "032", - "y" : 92, - "name" : "#032" - }, - { - "drilldown" : "033", - "y" : 108, - "name" : "#033" - }, - { - "name" : "#034", - "y" : 62, - "drilldown" : "034" - }, - { - "drilldown" : "035", - "y" : 62, - "name" : "#035" - }, - { - "name" : "#036", - "y" : 66, - "drilldown" : "036" - }, - { - "name" : "#037", - "drilldown" : "037", - "y" : 63 - }, - { - "name" : "#038", - "drilldown" : "038", - "y" : 65 - }, - { - "y" : 60, - "drilldown" : "039", - "name" : "#039" - }, - { - "name" : "#040", - "y" : 71, - "drilldown" : "040" - }, - { - "drilldown" : "041", - "y" : 74, - "name" : "#041" - }, - { - "name" : "#042", - "drilldown" : "042", - "y" : 88 - }, - { - "name" : "#043", - "drilldown" : "043", - "y" : 65 - }, - { - "name" : "#044", - "drilldown" : "044", - "y" : 81 - }, - { - "name" : "#045", - "drilldown" : "045", - "y" : 94 - }, - { - "drilldown" : "046", - "y" : 83, - "name" : "#046" - }, - { - "y" : 81, - "drilldown" : "047", - "name" : "#047" - }, - { - "name" : "#048", - "y" : 106, - "drilldown" : "048" - }, - { - "drilldown" : "049", - "y" : 85, - "name" : "#049" - }, - { - "name" : "#050", - "drilldown" : "050", - "y" : 96 - }, - { - "drilldown" : "051", - "y" : 87, - "name" : "#051" - }, - { - "drilldown" : "052", - "y" : 89, - "name" : "#052" - }, - { - "name" : "#053", - "drilldown" : "053", - "y" : 99 - }, - { - "y" : 95, - "drilldown" : "054", - "name" : "#054" - }, - { - "drilldown" : "055", - "y" : 83, - "name" : "#055" - }, - { - "name" : "#056", - "y" : 41, - "drilldown" : "056" - } - ] - } - ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { + "id" : "001", "data" : [ [ "Perl", @@ -316,12 +17,9 @@ 11 ] ], - "id" : "001", "name" : "001" }, { - "id" : "002", - "name" : "002", "data" : [ [ "Perl", @@ -335,9 +33,12 @@ "Blog", 10 ] - ] + ], + "id" : "002", + "name" : "002" }, { + "name" : "003", "data" : [ [ "Perl", @@ -352,12 +53,9 @@ 9 ] ], - "name" : "003", "id" : "003" }, { - "name" : "004", - "id" : "004", "data" : [ [ "Perl", @@ -371,9 +69,12 @@ "Blog", 10 ] - ] + ], + "id" : "004", + "name" : "004" }, { + "id" : "005", "data" : [ [ "Perl", @@ -388,11 +89,9 @@ 12 ] ], - "id" : "005", "name" : "005" }, { - "name" : "006", "id" : "006", "data" : [ [ @@ -407,11 +106,10 @@ "Blog", 7 ] - ] + ], + "name" : "006" }, { - "id" : "007", - "name" : "007", "data" : [ [ "Perl", @@ -425,9 +123,12 @@ "Blog", 10 ] - ] + ], + "name" : "007", + "id" : "007" }, { + "name" : "008", "data" : [ [ "Perl", @@ -442,12 +143,10 @@ 12 ] ], - "name" : "008", "id" : "008" }, { "name" : "009", - "id" : "009", "data" : [ [ "Perl", @@ -461,11 +160,11 @@ "Blog", 13 ] - ] + ], + "id" : "009" }, { "id" : "010", - "name" : "010", "data" : [ [ "Perl", @@ -479,7 +178,8 @@ "Blog", 11 ] - ] + ], + "name" : "010" }, { "data" : [ @@ -500,8 +200,6 @@ "id" : "011" }, { - "id" : "012", - "name" : "012", "data" : [ [ "Perl", @@ -515,7 +213,9 @@ "Blog", 11 ] - ] + ], + "id" : "012", + "name" : "012" }, { "data" : [ @@ -532,8 +232,8 @@ 13 ] ], - "name" : "013", - "id" : "013" + "id" : "013", + "name" : "013" }, { "data" : [ @@ -554,8 +254,6 @@ "id" : "014" }, { - "name" : "015", - "id" : "015", "data" : [ [ "Perl", @@ -569,7 +267,9 @@ "Blog", 15 ] - ] + ], + "id" : "015", + "name" : "015" }, { "data" : [ @@ -586,8 +286,8 @@ 12 ] ], - "name" : "016", - "id" : "016" + "id" : "016", + "name" : "016" }, { "data" : [ @@ -622,12 +322,10 @@ 14 ] ], - "id" : "018", - "name" : "018" + "name" : "018", + "id" : "018" }, { - "name" : "019", - "id" : "019", "data" : [ [ "Perl", @@ -641,11 +339,12 @@ "Blog", 13 ] - ] + ], + "name" : "019", + "id" : "019" }, { "id" : "020", - "name" : "020", "data" : [ [ "Perl", @@ -659,11 +358,10 @@ "Blog", 13 ] - ] + ], + "name" : "020" |
