diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-08-21 00:48:41 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-08-21 00:48:41 +0100 |
| commit | 5a6cf4837634e52fc9dd9334ccce051bd73735ad (patch) | |
| tree | d809885b507d6fc05d4614471ef7d1ecf332e704 | |
| parent | a42c096a9168065b7f35322dda2222c1bf0d3399 (diff) | |
| download | perlweeklychallenge-club-5a6cf4837634e52fc9dd9334ccce051bd73735ad.tar.gz perlweeklychallenge-club-5a6cf4837634e52fc9dd9334ccce051bd73735ad.tar.bz2 perlweeklychallenge-club-5a6cf4837634e52fc9dd9334ccce051bd73735ad.zip | |
- Added solutions by Duane Powell.
| -rw-r--r-- | challenge-126/duane-powell/perl/ch-1.pl | 18 | ||||
| -rw-r--r-- | challenge-126/duane-powell/perl/ch-2.pl | 78 | ||||
| -rw-r--r-- | stats/pwc-current.json | 233 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 58 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1786 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 716 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 118 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 544 |
15 files changed, 1996 insertions, 1885 deletions
diff --git a/challenge-126/duane-powell/perl/ch-1.pl b/challenge-126/duane-powell/perl/ch-1.pl new file mode 100644 index 0000000000..29edc40094 --- /dev/null +++ b/challenge-126/duane-powell/perl/ch-1.pl @@ -0,0 +1,18 @@ +#!/usr/bin/perl +use warnings; +use strict; +use feature 'say'; + +# Problem: https://perlweeklychallenge.org/blog/perl-weekly-challenge-126/ TASK #1 + +my $N = shift || 20; +my @N = (2 .. $N); +say join(',', ( grep ! /1/, @N)); + +__END__ + +./ch-1.pl +2,3,4,5,6,7,8,9,20 + +./ch-1.pl 40 +2,3,4,5,6,7,8,9,20,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40 diff --git a/challenge-126/duane-powell/perl/ch-2.pl b/challenge-126/duane-powell/perl/ch-2.pl new file mode 100644 index 0000000000..08e2342955 --- /dev/null +++ b/challenge-126/duane-powell/perl/ch-2.pl @@ -0,0 +1,78 @@ +#!/usr/bin/perl +use warnings; +use strict; +use feature 'say'; + +# Problem: https://perlweeklychallenge.org/blog/perl-weekly-challenge-126/ TASK #2 + +my $field = <<'EOD'; +x * * * x * x x x x +* * * * * * * * * x +* * * * x * x * x * +* * * x x * * * * * +x * * * x * * * * x +EOD + +my $MINE = 'x'; + +# offset vector from current cell +my $vec = [ + [ 1, 0 ], [ -1, 0 ], [ 0, 1 ], [ 0, -1 ], + [ 1, 1 ], [ 1, -1 ], [ -1, 1 ], [ -1, -1 ], +]; + +# A matrix: m and it's dimension: (x, y) +my $m = []; +my ($y, $x) = (0, 0); + +# parse field into matrix +my @lines = split(/\n/, $field); +$y ||= scalar @lines; +foreach (reverse (@lines)) { + my @cell = split(/ /, $_); + $x ||= scalar @cell; + push @{$m}, \@cell; +} + +# zero offset +$y--; $x--; + +foreach my $j (0 .. $y) { + foreach my $i (0 .. $x) { + + # if cell contains a MINE, skip it + # otherwise init adjacent MINE count to 0 + next if ($m->[$j][$i] eq $MINE); + $m->[$j][$i] = 0; + + # inspect adjacent cells + foreach my $v ( @{$vec} ) { + my ($a, $b) = @{$v}; + my ($c, $d) = ($j+$a, $i+$b); + + # out of bounds + next if ($c < 0 or $c > $y) or ($d < 0 or $d > $x); + + # total adjacent mines + $m->[$j][$i] += 1 if ($m->[$c][$d] eq $MINE); + } + } +} + +foreach my $j (reverse (0 .. $y)) { + foreach my $i (0 .. $x) { + print $m->[$j][$i] . " "; + } + say ""; +} + +__END__ + +./ch-2.pl +x 1 0 1 x 2 x x x x +1 1 0 2 2 4 3 5 5 x +0 0 1 3 x 3 x 2 x 2 +1 1 1 x x 4 1 2 2 2 +x 1 1 3 x 2 0 0 1 x + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index c10db3aded..450307cb0f 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,7 +1,43 @@ { + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 23] Last updated at 2021-08-20 23:47:27 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "title" : { + "text" : "The Weekly Challenge - 126" + }, + "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 + }, + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "drilldown" : { "series" : [ { + "name" : "Andinus", + "id" : "Andinus", "data" : [ [ "Raku", @@ -11,32 +47,29 @@ "Blog", 2 ] - ], - "name" : "Andinus", - "id" : "Andinus" + ] }, { + "name" : "Andrew Shitov", + "id" : "Andrew Shitov", "data" : [ [ "Raku", 1 ] - ], - "name" : "Andrew Shitov", - "id" : "Andrew Shitov" + ] }, { - "name" : "Cristina Heredia", "data" : [ [ "Perl", 1 ] ], + "name" : "Cristina Heredia", "id" : "Cristina Heredia" }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -47,7 +80,18 @@ 1 ] ], - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" + }, + { + "id" : "Duane Powell", + "name" : "Duane Powell", + "data" : [ + [ + "Perl", + 2 + ] + ] }, { "data" : [ @@ -64,11 +108,12 @@ 2 ] ], - "name" : "Flavio Poletti", - "id" : "Flavio Poletti" + "id" : "Flavio Poletti", + "name" : "Flavio Poletti" }, { "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", @@ -78,31 +123,31 @@ "Blog", 1 ] - ], - "id" : "James Smith" + ] }, { + "name" : "Jorg Sommrey", "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "name" : "Jorg Sommrey" + ] }, { - "id" : "Konstantinos Giannakakis", "data" : [ [ "Perl", 2 ] ], + "id" : "Konstantinos Giannakakis", "name" : "Konstantinos Giannakakis" }, { "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -116,11 +161,11 @@ "Blog", 1 ] - ], - "id" : "Laurent Rosenfeld" + ] }, { "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -130,38 +175,37 @@ "Blog", 2 ] - ], - "name" : "Luca Ferrari" + ] }, { + "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "id" : "Mark Anderson" + ] }, { + "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] - ], - "name" : "Matthew Neleigh", - "id" : "Matthew Neleigh" + ] }, { - "id" : "Olivier Delouya", "data" : [ [ "Perl", 1 ] ], - "name" : "Olivier Delouya" + "name" : "Olivier Delouya", + "id" : "Olivier Delouya" }, { "data" : [ @@ -170,8 +214,8 @@ 2 ] ], - "id" : "Paul Fajman", - "name" : "Paul Fajman" + "name" : "Paul Fajman", + "id" : "Paul Fajman" }, { "data" : [ @@ -216,26 +260,27 @@ "name" : "Simon Green" }, { - "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], + "id" : "Simon Proctor", "name" : "Simon Proctor" }, { "id" : "Steven Wilson", + "name" : "Steven Wilson", "data" : [ [ "Perl", 1 ] - ], - "name" : "Steven Wilson" + ] }, { + "name" : "Stuart Little", "id" : "Stuart Little", "data" : [ [ @@ -246,10 +291,11 @@ "Raku", 2 ] - ], - "name" : "Stuart Little" + ] }, { + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -259,12 +305,9 @@ "Raku", 2 ] - ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + ] }, { - "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -275,39 +318,39 @@ 1 ] ], + "id" : "W. Luis Mochan", "name" : "W. Luis Mochan" } ] }, - "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" : "The Weekly Challenge - 126", "data" : [ { + "drilldown" : "Andinus", "y" : 4, - "name" : "Andinus", - "drilldown" : "Andinus" + "name" : "Andinus" }, { - "y" : 1, "name" : "Andrew Shitov", + "y" : 1, "drilldown" : "Andrew Shitov" }, { - "name" : "Cristina Heredia", + "y" : 1, "drilldown" : "Cristina Heredia", - "y" : 1 + "name" : "Cristina Heredia" }, { - "drilldown" : "Dave Jacoby", "name" : "Dave Jacoby", - "y" : 3 + "y" : 3, + "drilldown" : "Dave Jacoby" + }, + { + "name" : "Duane Powell", + "y" : 2, + "drilldown" : "Duane Powell" }, { "y" : 6, @@ -315,39 +358,39 @@ "name" : "Flavio Poletti" }, { - "name" : "James Smith", "drilldown" : "James Smith", - "y" : 3 + "y" : 3, + "name" : "James Smith" }, { - "drilldown" : "Jorg Sommrey", "name" : "Jorg Sommrey", - "y" : 2 + "y" : 2, + "drilldown" : "Jorg Sommrey" }, { - "name" : "Konstantinos Giannakakis", "drilldown" : "Konstantinos Giannakakis", - "y" : 2 + "y" : 2, + "name" : "Konstantinos Giannakakis" }, { + "drilldown" : "Laurent Rosenfeld", "y" : 5, - "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld" }, { - "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari", - "y" : 4 + "y" : 4, + "drilldown" : "Luca Ferrari" }, { - "drilldown" : "Mark Anderson", "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", "y" : 2 }, { "y" : 2, - "name" : "Matthew Neleigh", - "drilldown" : "Matthew Neleigh" + "drilldown" : "Matthew Neleigh", + "name" : "Matthew Neleigh" }, { "name" : "Olivier Delouya", @@ -355,19 +398,19 @@ "y" : 1 }, { - "drilldown" : "Paul Fajman", "name" : "Paul Fajman", - "y" : 2 + "y" : 2, + "drilldown" : "Paul Fajman" }, { + "drilldown" : "Pete Houston", "y" : 2, - "name" : "Pete Houston", - "drilldown" : "Pete Houston" + "name" : "Pete Houston" }, { - "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", - "y" : 5 + "y" : 5, + "name" : "Roger Bell_West" }, { "y" : 3, @@ -375,60 +418,32 @@ "name" : "Simon Green" }, { - "drilldown" : "Simon Proctor", "name" : "Simon Proctor", - "y" : 2 + "y" : 2, + "drilldown" : "Simon Proctor" }, { - "drilldown" : "Steven Wilson", "name" : "Steven Wilson", - "y" : 1 + "y" : 1, + "drilldown" : "Steven Wilson" }, { - "y" : 4, + "name" : "Stuart Little", "drilldown" : "Stuart Little", - "name" : "Stuart Little" + "y" : 4 }, { - "drilldown" : "Ulrich Rieke", "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", "y" : 4 }, { - "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan", "y" : 3 } - ] - } - ], - "chart" : { - "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 + ], + "name" : "The Weekly Challenge - 126" } - }, - "legend" : { - "enabled" : 0 - }, - "title" : { - "text" : "The Weekly Challenge - 126" - }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "[Champions: 22] Last updated at 2021-08-20 23:43:24 GMT" - } + ] } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 3c5b2899e0..3377b81e14 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,10 +1,4 @@ { - "subtitle" : { - "text" : "Last updated at 2021-08-20 23:43:24 GMT" - }, - "legend" : { - "enabled" : "false" - }, "xAxis" : { "labels" : { "style" : { @@ -14,8 +8,11 @@ }, "type" : "category" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" + "subtitle" : { + "text" : "Last updated at 2021-08-20 23:47:26 GMT" + }, + "legend" : { + "enabled" : "false" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" @@ -23,8 +20,29 @@ "chart" : { "type" : "column" }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "series" : [ { + "dataLabels" : { + "enabled" : "true", + "align" : "right", + "color" : "#FFFFFF", + "rotation" : -90, + "format" : "{point.y:.0f}", + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "y" : 10 + }, "data" : [ [ "Blog", @@ -32,32 +50,14 @@ ], [ "Perl", - 6018 + 6020 ], [ "Raku", 3744 ] ], - "name" : "Contributions", - "dataLabels" : { - "align" : "right", - "format" : "{point.y:.0f}", - "rotation" : -90, - "enabled" : "true", - "color" : "#FFFFFF", - "y" : 10, - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - } + "name" : "Contributions" } - ], - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 20529135e3..6f93356ec6 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,7 +1,665 @@ { + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-08-20 23:47:27 GMT" + }, + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category" + }, + "series" : [ + { + "colorByPoint" : "true", + "data" : [ + { + "y" : 161, + "drilldown" : "001", + "name" : "#001" + }, + { + "drilldown" : "002", + "y" : 125, + "name" : "#002" + }, + { + "name" : "#003", + "drilldown" : "003", + "y" : 81 + }, + { + "name" : "#004", + "y" : 99, + "drilldown" : "004" + }, + { + "y" : 78, + "drilldown" : "005", + "name" : "#005" + }, + { + "name" : "#006", + "drilldown" : "006", + "y" : 58 + }, + { + "y" : 64, + "drilldown" : "007", + "name" : "#007" + }, + { + "drilldown" : "008", + "y" : 78, + "name" : "#008" + }, + { + "name" : "#009", + "drilldown" : "009", + "y" : 76 + }, + { + "name" : "#010", + "drilldown" : "010", + "y" : 65 + }, + { + "name" : "#011", + "drilldown" : "011", + "y" : 85 + }, + { + "y" : 89, + "drilldown" : "012", + "name" : "#012" + }, + { + "name" : "#013", + "drilldown" : "013", + "y" : 85 + }, + { + "name" : "#014", + "y" : 101, + "drilldown" : "014" + }, + { + "name" : "#015", + "y" : 99, + "drilldown" : "015" + }, + { + "name" : "#016", + "drilldown" : "016", + "y" : 71 + }, + { + "name" : "#017", + "y" : 84, + "drilldown" : "017" + }, + { + "name" : "#018", + "y" : 81, + "drilldown" : "018" + }, + { + "name" : "#019", + "y" : 103, + "drilldown" : "019" + }, + { + "y" : 101, + "drilldown" : "020", + "name" : "#020" + }, + { + "drilldown" : "021", + "y" : 72, + "name" : "#021" + }, + { + "name" : "#022", + "drilldown" : "022", + "y" : 68 + }, + { + "name" : "#023", + "drilldown" : "023", + "y" : 97 + }, + { + "name" : "#024", + "y" : 75, + "drilldown" : "024" + }, + { + "y" : 59, + "drilldown" : "025", + "name" : "#025" + }, + { + "drilldown" : "026", + "y" : 74, + "name" : "#026" + }, + { + "name" : "#027", + "drilldown" : "027", + "y" : 60 + }, + { + "y" : 80, + "drilldown" : "028", + "name" : "#028" + }, + { + "y" : 79, + "drilldown" : "029", + "name" : "#029" + }, + { + "name" : "#030", + "y" : 117, + "drilldown" : "030" + }, + { + "y" : 89, + "drilldown" : "031", + "name" : "#031" + }, + { + "y" : 94, + "drilldown" : "032", + "name" : "#032" + }, + { + "y" : 110, + "drilldown" : "033", + "name" : "#033" + }, + { + "drilldown" : "034", + "y" : 64, + "name" : "#034" + }, + { + "drilldown" : "035", + "y" : 64, + "name" : "#035" + }, + { + "y" : 68, + "drilldown" : "036", + "name" : "#036" + }, + { + "name" : "#037", + "y" : 67, + "drilldown" : "037" + }, + { + "name" : "#038", + "drilldown" : "038", + "y" : 68 + }, + { + "name" : "#039", + "y" : 62, + "drilldown" : "039" + }, + { + "drilldown" : "040", + "y" : 73, + "name" : "#040" + }, + { + "name" : "#041", + "drilldown" : "041", + "y" : 76 + }, + { + "name" : "#042", + "drilldown" : "042", + "y" : 92 + }, + { + "name" : "#043", + "drilldown" : "043", + "y" : 68 + }, + { + "name" : "#044", + "y" : 85, + "drilldown" : "044" + }, + { + "name" : "#045", + "drilldown" : "045", + "y" : 96 + }, + { + "name" : "#046", + "y" : 87, + "drilldown" : "046" + }, + { + "y" : 84, + "drilldown" : "047", + "name" : "#047" + }, + { + "name" : "#048", + "drilldown" : "048", + "y" : 108 + }, + { + "name" : "#049", + "y" : 89, + "drilldown" : "049" + }, + { + "y" : 98, + "drilldown" : "050", + "name" : "#050" + }, + { + "name" : "#051", + "y" : 89, + "drilldown" : "051" + }, + { + "name" : "#052", + "y" : 91, + "drilldown" : "052" + }, + { + "name" : "#053", + "drilldown" : "053", + "y" : 101 + }, + { + "drilldown" : "054", + "y" : 103, + "name" : "#054" + }, + { + "name" : "#055", + "drilldown" : "055", + "y" : 88 + }, + { + "y" : 95, + "drilldown" : "056", + "name" : "#056" + }, + { + "name" : "#057", + "y" : 80, + "drilldown" : "057" + }, + { + "name" : "#058", + "drilldown" : "058", + "y" : 69 + }, + { + "drilldown" : "059", + "y" : 89, + "name" : "#059" + }, + { + "y" : 85, + "drilldown" : "060", + "name" : "#060" + }, + { + "y" : 81, + "drilldown" : "061", + "name" : "#061" + }, + { + "name" : "#062", + "y" : 58, + "drilldown" : "062" + }, + { + "name" : "#063", + "y" : 89, + "drilldown" : "063" + }, + { + "y" : 80, + "drilldown" : "064", + "name" : "#064" + }, + { + "y" : 73, + "drilldown" : "065", + "name" : "#065" + }, + { + "drilldown" : "066", + "y" : 84, + "name" : "#066" + }, + { + "name" : "#067", + "drilldown" : "067", + "y" : 90 + }, + { + "name" : "#068", + "y" : 75, + "drilldown" : "068" + }, + { + "y" : 83, + "drilldown" : "069", + "name" : "#069" + }, + { + "name" : "#070", + "drilldown" : "070", + "y" : 93 + }, + { + "name" : "#071", + "y" : 78, + "drilldown" : "071" + }, + { + "drilldown" : "072", + "y" : 112, + "name" : "#072" + }, + { + "name" : "#073", + "drilldown" : "073", + "y" : 110 + }, + { + "name" : "#074", + "drilldown" : "074", + "y" : 115 + }, |
