diff options
| -rw-r--r-- | challenge-124/pete-houston/perl/ch-1.pl | 37 | ||||
| -rw-r--r-- | challenge-124/pete-houston/perl/ch-2.pl | 55 | ||||
| -rw-r--r-- | stats/pwc-current.json | 403 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 72 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 916 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 404 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 126 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 86 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 30 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 92 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 30 |
15 files changed, 1329 insertions, 1214 deletions
diff --git a/challenge-124/pete-houston/perl/ch-1.pl b/challenge-124/pete-houston/perl/ch-1.pl new file mode 100644 index 0000000000..cfb0ff0ac4 --- /dev/null +++ b/challenge-124/pete-houston/perl/ch-1.pl @@ -0,0 +1,37 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 12401.pl +# +# USAGE: ./12401.pl +# +# DESCRIPTION: Output a big female symbol +# +# REQUIREMENTS: Text::Banner +# BUGS: Not the most circular of circles +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# VERSION: 1.0 +# CREATED: 03/08/21 +#=============================================================================== + +use strict; +use warnings; +use Text::Banner; + +my $size = 4; +my $shift = $size - 2; +my $banner = Text::Banner->new; +$banner->fill ('#'); +$banner->size ($size); + +$banner->set ('o'); +my $out = $banner->get; +$out =~ s/^\s{$shift}//mg; + +$banner->set ('+'); +$out .= $banner->get; +$out =~ s/\n\s*\n/\n/g; + +print $out; + diff --git a/challenge-124/pete-houston/perl/ch-2.pl b/challenge-124/pete-houston/perl/ch-2.pl new file mode 100644 index 0000000000..71acb85512 --- /dev/null +++ b/challenge-124/pete-houston/perl/ch-2.pl @@ -0,0 +1,55 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 12402.pl +# +# USAGE: ./12402.pl N N [ ... ] +# +# DESCRIPTION: Split the list of integers into two subsets with the +# minimum difference in sums. +# +# REQUIREMENTS: List::Util, Math::Combinatorics, Array::Diff +# NOTES: There may be more than one optimal solution for a given +# input set. This program will only output one such +# solution. +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# VERSION: 1.0 +# CREATED: 03/08/21 +#=============================================================================== + +use strict; +use warnings; +use List::Util 'sum'; +use Math::Combinatorics; +use Array::Diff; + +my @set = sort { $a <=> $b } @ARGV; +my $tot = sum @set; + +# Ideal solution: $tot/2 in each subset. +my $target = $tot / 2; +my $mindist; +my @subset; + +# Extract nCr with r half of n and look for $target (or min +# dist from it) in the sum. +my $combo = Math::Combinatorics->new ( + count => int (@set / 2), + data => [@set] +); +while (my @c = $combo->next_combination) { + my $sum = sum @c; + my $dist = abs ($target - $sum); + unless (defined ($mindist) && $dist > $mindist) { + $mindist = $dist; + @subset = @c; + } + last if $dist < 1; +} + +@subset = sort { $a <=> $b } @subset; +my $diff = Array::Diff->diff (\@set, \@subset); +my @othersubset = @{$diff->deleted}; + +print "Subset 1 = (@subset)\nSubset 2 = (@othersubset)\n"; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 472eb86f67..232d8fbb32 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,150 +1,10 @@ { - "legend" : { - "enabled" : 0 - }, - "series" : [ - { - "colorByPoint" : 1, - "data" : [ - { - "name" : "Abigail", - "y" : 4, - "drilldown" : "Abigail" - }, - { - "name" : "Bruce Gray", - "drilldown" : "Bruce Gray", - "y" : 4 - }, - { - "y" : 1, - "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung" - }, - { - "drilldown" : "Colin Crain", - "y" : 4, - "name" : "Colin Crain" - }, - { - "name" : "Dave Jacoby", - "y" : 3, - "drilldown" : "Dave Jacoby" - }, - { - "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" - }, - { - "name" : "Flavio Poletti", - "y" : 6, - "drilldown" : "Flavio Poletti" - }, - { - "name" : "James Smith", - "drilldown" : "James Smith", - "y" : 3 - }, - { - "name" : "Jan Krnavek", - "drilldown" : "Jan Krnavek", - "y" : 1 - }, - { - "drilldown" : "Jorg Sommrey", - "y" : 2, - "name" : "Jorg Sommrey" - }, - { - "y" : 2, - "drilldown" : "kjetillll", - "name" : "kjetillll" - }, - { - "name" : "Laurent Rosenfeld", - "y" : 5, - "drilldown" : "Laurent Rosenfeld" - }, - { - "name" : "Luca Ferrari", - "y" : 4, - "drilldown" : "Luca Ferrari" - }, - { - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson", - "y" : 2 - }, - { - "name" : "Matthew Neleigh", - "y" : 1, - "drilldown" : "Matthew Neleigh" - }, - { - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke", - "y" : 2 - }, - { - "name" : "Peter Campbell Smith", - "y" : 1, - "drilldown" : "Peter Campbell Smith" - }, - { - "name" : "Roger Bell_West", - "y" : 5, - "drilldown" : "Roger Bell_West" - }, - { - "drilldown" : "Simon Green", - "y" : 2, - "name" : "Simon Green" - }, - { - "y" : 2, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" - }, - { - "drilldown" : "Stuart Little", - "y" : 4, - "name" : "Stuart Little" - }, - { - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke", - "y" : 3 - }, - { - "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan", - "y" : 3 - }, - { - "name" : "Wanderdoc", - "drilldown" : "Wanderdoc", - "y" : 1 - } - ], - "name" : "The Weekly Challenge - 124" - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "title" : { - "text" : "The Weekly Challenge - 124" - }, - "xAxis" : { - "type" : "category" + "subtitle" : { + "text" : "[Champions: 25] Last updated at 2021-08-08 21:35:27 GMT" }, "drilldown" : { "series" : [ { - "id" : "Abigail", "data" : [ [ "Perl", @@ -155,11 +15,10 @@ 2 ] ], - "name" : "Abigail" + "name" : "Abigail", + "id" : "Abigail" }, { - "id" : "Bruce Gray", - "name" : "Bruce Gray", "data" : [ [ "Perl", @@ -169,19 +28,23 @@ "Raku", 2 ] - ] + ], + "name" : "Bruce Gray", + "id" : "Bruce Gray" }, { - "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung" }, { + "id" : "Colin Crain", + "name" : "Colin Crain", "data" : [ [ "Perl", @@ -195,13 +58,11 @@ "Blog", 1 ] - ], - "name" : "Colin Crain", - "id" : "Colin Crain" + ] }, { - "id" : "Dave Jacoby", "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -214,14 +75,14 @@ ] }, { + "id" : "E. Choroba", "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "id" : "E. Choroba" + ] }, { "id" : "Flavio Poletti", @@ -242,6 +103,7 @@ ] }, { + "id" : "James Smith", "name" : "James Smith", "data" : [ [ @@ -252,42 +114,39 @@ "Blog", 1 ] - ], - "id" : "James Smith" + ] }, { "id" : "Jan Krnavek", + "name" : "Jan Krnavek", "data" : [ [ "Raku", 1 ] - ], - "name" : "Jan Krnavek" + ] }, { "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "name" : "Jorg Sommrey" + ] }, { + "name" : "kjetillll", "id" : "kjetillll", "data" : [ [ "Perl", 2 ] - ], - "name" : "kjetillll" + ] }, { - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -301,10 +160,13 @@ "Blog", 1 ] - ] + ], + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" }, { "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -314,18 +176,17 @@ "Blog", 2 ] - ], - "name" : "Luca Ferrari" + ] }, { + "id" : "Mark Anderson", + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "name" : "Mark Anderson", - "id" : "Mark Anderson" + ] }, { "id" : "Matthew Neleigh", @@ -338,27 +199,36 @@ ] }, { + "id" : "Niels van Dijke", "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ] ], - "id" : "Niels van Dijke" + "id" : "Pete Houston", + "name" : "Pete Houston" }, { - "id" : "Peter Campbell Smith", "data" : [ [ "Perl", 1 ] ], + "id" : "Peter Campbell Smith", "name" : "Peter Campbell Smith" }, { - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -373,11 +243,10 @@ 1 ] ], - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { - "id" : "Simon Green", - "name" : "Simon Green", "data" : [ [ "Perl", @@ -387,7 +256,9 @@ "Blog", 1 ] - ] + ], + "id" : "Simon Green", + "name" : "Simon Green" }, { "data" : [ @@ -396,11 +267,12 @@ 2 ] ], - "name" : "Simon Proctor", - "id" : "Simon Proctor" + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { "name" : "Stuart Little", + "id" : "Stuart Little", "data" : [ [ "Perl", @@ -410,12 +282,11 @@ "Raku", 2 ] - ], - "id" : "Stuart Little" + ] }, { - "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -438,8 +309,8 @@ 1 ] ], - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan" + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" }, { "id" : "Wanderdoc", @@ -453,24 +324,168 @@ } ] }, - "chart" : { - "type" : "column" - }, "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", "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/>" + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, + "title" : { + "text" : "The Weekly Challenge - 124" }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { "enabled" : 1, "format" : "{point.y}" - }, - "borderWidth" : 0 + } } }, - "subtitle" : { - "text" : "[Champions: 24] Last updated at 2021-08-08 20:39:50 GMT" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "chart" : { + "type" : "column" + }, + "series" : [ + { + "data" : [ + { + "drilldown" : "Abigail", + "name" : "Abigail", + "y" : 4 + }, + { + "name" : "Bruce Gray", + "drilldown" : "Bruce Gray", + "y" : 4 + }, + { + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", + "y" : 1 + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 4 + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 3 + }, + { + "name" : "E. Choroba", + "drilldown" : "E. Choroba", + "y" : 2 + }, + { + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti", + "y" : 6 + }, + { + "name" : "James Smith", + "drilldown" : "James Smith", + "y" : 3 + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 1 + }, + { + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey", + "y" : 2 + }, + { + "y" : 2, + "name" : "kjetillll", + "drilldown" : "kjetillll" + }, + { + "y" : 5, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 4 + }, + { + "y" : 2, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "y" : 1, + "drilldown" : "Matthew Neleigh", + "name" : "Matthew Neleigh" + }, + { + "y" : 2, + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke" + }, + { + "y" : 2, + "drilldown" : "Pete Houston", + "name" : "Pete Houston" + }, + { + "y" : 1, + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" + }, + { + "y" : 5, + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "y" : 2, + "drilldown" : "Simon Green", + "name" : "Simon Green" + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "drilldown" : "Stuart Little", + "name" : "Stuart Little", + "y" : 4 + }, + { + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 3 + }, + { + "y" : 3, + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" + }, + { + "y" : 1, + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc" + } + ], + "name" : "The Weekly Challenge - 124", + "colorByPoint" : 1 + } + ], + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 156c7974df..b7d348faef 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,39 +1,27 @@ { - "legend" : { - "enabled" : "false" + "subtitle" : { + "text" : "Last updated at 2021-08-08 21:35:27 GMT" }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" + }, + "chart" : { + "type" : "column" }, "yAxis" : { - "min" : 0, "title" : { "text" : null - } + }, + "min" : 0 }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" + "legend" : { + "enabled" : "false" }, "series" : [ { - "dataLabels" : { - "rotation" : -90, - "format" : "{point.y:.0f}", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "enabled" : "true", - "y" : 10, - "color" : "#FFFFFF", - "align" : "right" - }, "data" : [ [ "Blog", @@ -41,23 +29,35 @@ ], [ "Perl", - 5947 + 5949 ], [ "Raku", 3704 ] ], - "name" : "Contributions" + "name" : "Contributions", + "dataLabels" : { + "y" : 10, + "color" : "#FFFFFF", + "rotation" : -90, + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "enabled" : "true", + "align" : "right", + "format" : "{point.y:.0f}" + } } ], - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2021-08-08 20:39:50 GMT" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 09b50e93f9..8f27fae873 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,54 +1,62 @@ { - "xAxis" : { - "type" : "category" + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : "false" }, "series" : [ { - "colorByPoint" : "true", + "name" : "The Weekly Challenge Languages", "data" : [ { - "name" : "#001", + "y" : 161, "drilldown" : "001", - "y" : 161 + "name" : "#001" }, { - "name" : "#002", "drilldown" : "002", + "name" : "#002", "y" : 125 }, { + "y" : 81, "name" : "#003", - "drilldown" : "003", - "y" : 81 + "drilldown" : "003" }, { - "name" : "#004", "y" : 99, + "name" : "#004", "drilldown" : "004" }, { + "drilldown" : "005", "name" : "#005", - "y" : 78, - "drilldown" : "005" + "y" : 78 }, { - "name" : "#006", "drilldown" : "006", + "name" : "#006", "y" : 58 }, { "name" : "#007", - "y" : 64, - "drilldown" : "007" + "drilldown" : "007", + "y" : 64 }, { - "name" : "#008", + "y" : 78, "drilldown" : "008", - "y" : 78 + "name" : "#008" }, { - "name" : "#009", "drilldown" : "009", + "name" : "#009", "y" : 76 }, { @@ -58,18 +66,18 @@ }, { "name" : "#011", - "y" : 85, - "drilldown" : "011" + "drilldown" : "011", + "y" : 85 }, { "drilldown" : "012", - "y" : 89, - "name" : "#012" + "name" : "#012", + "y" : 89 }, { "drilldown" : "013", - "y" : 85, - "name" : "#013" + "name" : "#013", + "y" : 85 }, { "y" : 101, @@ -77,39 +85,39 @@ "name" : "#014" }, { + "drilldown" : "015", "name" : "#015", - "y" : 99, - "drilldown" : "015" + "y" : 99 }, { + "name" : "#016", "drilldown" : "016", - "y" : 71, - "name" : "#016" + "y" : 71 }, { "drilldown" : "017", - "y" : 84, - "name" : "#017" + "name" : "#017", + "y" : 84 }, { + "y" : 81, "name" : "#018", - "drilldown" : "018", - "y" : 81 + "drilldown" : "018" }, { "y" : 103, - "drilldown" : "019", - "name" : "#019" + "name" : "#019", + "drilldown" : "019" }, { - "name" : "#020", "drilldown" : "020", + "name" : "#020", "y" : 101 }, { + "y" : 72, "name" : "#021", - "drilldown" : "021", - "y" : 72 + "drilldown" : "021" }, { "y" : 68, @@ -123,18 +131,18 @@ }, { "y" : 75, - "drilldown" : "024", - "name" : "#024" + "name" : "#024", + "drilldown" : "024" }, { - "drilldown" : "025", "y" : 59, - "name" : "#025" + "name" : "#025", + "drilldown" : "025" }, { + "y" : 74, "name" : "#026", - "drilldown" : "026", - "y" : 74 + "drilldown" : "026" }, { "name" : "#027", @@ -143,48 +151,48 @@ }, { "drilldown" : "028", - "y" : 80, - "name" : "#028" + "name" : "#028", + "y" : 80 }, { - "y" : 79, "drilldown" : "029", - "name" : "#029" + "name" : "#029", + "y" : 79 }, { - "drilldown" : "030", "y" : 117, - "name" : "#030" + "name" : "#030", + "drilldown" : "030" }, { - "name" : "#031", "y" : 89, + "name" : "#031", "drilldown" : "031" }, { "name" : "#032", - "y" : 94, - "drilldown" : "032" + "drilldown" : "032", + "y" : 94 }, { - "y" : 110, + "name" : "#033", "drilldown" : "033", - "name" : "#033" + "y" : 110 }, { - "y" : 64, "drilldown" : "034", - "name" : "#034" + "name" : "#034", + "y" : 64 }, { - "y" : 64, + "name" : "#035", "drilldown" : "035", - "name" : "#035" + "y" : 64 }, { - "name" : "#036", + "y" : 68, "drilldown" : "036", - "y" : 68 + "name" : "#036" }, { "name" : "#037", @@ -192,39 +200,39 @@ "y" : 67 }, { + "y" : 68, "name" : "#038", - "drilldown" : "038", - "y" : 68 + "drilldown" : "038" }, { + "name" : "#039", "drilldown" : "039", - "y" : 62, - "name" : "#039" + "y" : 62 }, { - "name" : "#040", "y" : 73, + "name" : "#040", "drilldown" : "040" }, { "name" : "#041", - "y" : 76, - "drilldown" : "041" + "drilldown" : "041", + "y" : 76 }, { + "drilldown" : "042", "name" : "#042", - "y" : 92, - "drilldown" : "042" + "y" : 92 }, { - "drilldown" : "043", "y" : 68, - "name" : "#043" + "name" : "#043", + "drilldown" : "043" }, |
