diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-21 17:48:33 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-21 17:48:33 +0100 |
| commit | 5b33e58cd8dbd0e9af73146f9169b568c139b851 (patch) | |
| tree | b48de1fc5e824f44dc24d7a42870b1a591df779e | |
| parent | e0a30ba880d24c49fecc11306da58e7b31d3a6ae (diff) | |
| download | perlweeklychallenge-club-5b33e58cd8dbd0e9af73146f9169b568c139b851.tar.gz perlweeklychallenge-club-5b33e58cd8dbd0e9af73146f9169b568c139b851.tar.bz2 perlweeklychallenge-club-5b33e58cd8dbd0e9af73146f9169b568c139b851.zip | |
- Added solutions by Pete Houston.
| -rw-r--r-- | challenge-070/pete-houston/perl/ch-1.pl | 46 | ||||
| -rw-r--r-- | challenge-070/pete-houston/perl/ch-2.pl | 34 | ||||
| -rw-r--r-- | stats/pwc-current.json | 109 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 84 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 480 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 360 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 28 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 42 |
13 files changed, 840 insertions, 749 deletions
diff --git a/challenge-070/pete-houston/perl/ch-1.pl b/challenge-070/pete-houston/perl/ch-1.pl new file mode 100644 index 0000000000..7271bffd55 --- /dev/null +++ b/challenge-070/pete-houston/perl/ch-1.pl @@ -0,0 +1,46 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 7001.pl +# +# USAGE: ./7001.pl [ string count offset ] +# +# DESCRIPTION: Swap "count" characters in string with their offests +# +# REQUIREMENTS: Params::Util +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +#=============================================================================== + +use strict; +use warnings; +use Params::Util '_POSINT'; + +my ($str, $count, $offset) = get_args (); +print chswap($str, $count, $offset) . "\n"; + +sub get_args { + my ($s, $c, $o) = @ARGV; + unless (defined $o) { + warn "Not enough arguments so using defaults: 'perlandraku' 3 4\n"; + return ('perlandraku', 3, 4); + } + die "Count must be natural number (not $c)" unless _POSINT($c); + die "Offset must be natural number (not $o)" unless _POSINT($o); + die "Offset ($o) must be not be less than count ($c)" if $o < $c; + my $l = length ($s); + die "Count of $c and offset of $o are too long for a string of length $l" + if $c + $o > $l; + return ($s, $c, $o); +} + +sub chswap { + my ($str, $count, $offset) = @_; + my $wrap = $count + $offset == length $str; # Special case + $str .= substr ($str, 0, 1) if $wrap; + substr ($str, $offset, $count, + substr ($str, 1, $count, + substr ($str, ++$offset, $count))); + $str =~ s/^.(.*)(.)$/$2$1/ if $wrap; + return $str; +} diff --git a/challenge-070/pete-houston/perl/ch-2.pl b/challenge-070/pete-houston/perl/ch-2.pl new file mode 100644 index 0000000000..624061a1a1 --- /dev/null +++ b/challenge-070/pete-houston/perl/ch-2.pl @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: ch7002.pl +# +# USAGE: ./ch7002.pl N +# +# DESCRIPTION: Gray code builder starting from N = 2 +# +# REQUIREMENTS: Params::Util +# NOTES: N to be between 2 and 5 but why stop there? +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# CREATED: 20/07/20 23:16:00 +#=============================================================================== + +use strict; +use warnings; +use Params::Util '_POSINT'; + +$" = ', '; +my $i = 2; +my @gc = (0, 1, 3, 2); +my $n = shift; +die "Argument ($n) is not an integer greater than 1" + unless _POSINT ($n) && $n >= $i; + +while ($i < $n) { + push @gc, map {$_ + 2**$i} reverse @gc; + $i++; +} +print "$n-bit Gray code is @gc\n"; + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index ea6b1589ea..4ce06e894f 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -2,8 +2,6 @@ "drilldown" : { "series" : [ { - "id" : "Andrew Shitov", - "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -13,10 +11,11 @@ "Blog", 2 ] - ] + ], + "name" : "Andrew Shitov", + "id" : "Andrew Shitov" }, { - "name" : "Javier Luque", "data" : [ [ "Perl", @@ -31,10 +30,11 @@ 1 ] ], + "name" : "Javier Luque", "id" : "Javier Luque" }, { - "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -45,23 +45,34 @@ 2 ] ], - "id" : "Mohammad S Anwar" + "name" : "Mohammad S Anwar" }, { "data" : [ [ "Perl", 2 + ] + ], + "name" : "Pete Houston", + "id" : "Pete Houston" + }, + { + "name" : "Roger Bell_West", + "data" : [ + [ + "Perl", + 2 ], [ "Raku", 2 ] ], - "name" : "Roger Bell_West", "id" : "Roger Bell_West" }, { + "id" : "Simon Green", "name" : "Simon Green", "data" : [ [ @@ -72,21 +83,19 @@ "Blog", 1 ] - ], - "id" : "Simon Green" + ] }, { "id" : "Simon Proctor", - "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Simon Proctor" }, { - "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", "data" : [ [ @@ -97,7 +106,8 @@ "Raku", 2 ] - ] + ], + "id" : "Ulrich Rieke" }, { "id" : "Walt Mankowski", @@ -111,52 +121,49 @@ } ] }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, "tooltip" : { "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "followPointer" : 1, "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, - "subtitle" : { - "text" : "[Champions: 8] Last updated at 2020-07-21 16:43:08 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge - 070" - }, "chart" : { "type" : "column" }, - "xAxis" : { - "type" : "category" + "title" : { + "text" : "Perl Weekly Challenge - 070" }, "legend" : { "enabled" : 0 }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "xAxis" : { + "type" : "category" }, "series" : [ { "data" : [ { "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov", - "y" : 4 + "y" : 4, + "drilldown" : "Andrew Shitov" }, { "name" : "Javier Luque", - "drilldown" : "Javier Luque", - "y" : 5 + "y" : 5, + "drilldown" : "Javier Luque" }, { "name" : "Mohammad S Anwar", @@ -164,14 +171,19 @@ "y" : 4 }, { - "name" : "Roger Bell_West", + "y" : 2, + "drilldown" : "Pete Houston", + "name" : "Pete Houston" + }, + { + "drilldown" : "Roger Bell_West", "y" : 4, - "drilldown" : "Roger Bell_West" + "name" : "Roger Bell_West" }, { "name" : "Simon Green", - "y" : 3, - "drilldown" : "Simon Green" + "drilldown" : "Simon Green", + "y" : 3 }, { "name" : "Simon Proctor", @@ -185,12 +197,15 @@ }, { "name" : "Walt Mankowski", - "y" : 2, - "drilldown" : "Walt Mankowski" + "drilldown" : "Walt Mankowski", + "y" : 2 } ], - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 070" + "name" : "Perl Weekly Challenge - 070", + "colorByPoint" : 1 } - ] + ], + "subtitle" : { + "text" : "[Champions: 9] Last updated at 2020-07-21 16:48:02 GMT" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index c72fdaa5f3..fcafab263b 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,7 +1,45 @@ { + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, + "legend" : { + "enabled" : "false" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, "series" : [ { - "name" : "Contributions", + "dataLabels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "rotation" : -90, + "y" : 10, + "align" : "right", + "format" : "{point.y:.0f}", + "color" : "#FFFFFF", + "enabled" : "true" + }, "data" : [ [ "Blog", @@ -9,55 +47,17 @@ ], [ "Perl", - 2870 + 2872 ], [ "Raku", 1846 ] ], - "dataLabels" : { - "y" : 10, - "enabled" : "true", - "align" : "right", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "color" : "#FFFFFF", - "format" : "{point.y:.0f}", - "rotation" : -90 - } + "name" : "Contributions" } ], - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "legend" : { - "enabled" : "false" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, "subtitle" : { - "text" : "Last updated at 2020-07-21 16:43:08 GMT" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" - }, - "chart" : { - "type" : "column" + "text" : "Last updated at 2020-07-21 16:48:02 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index d26c0d401c..e3a7660605 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,25 +1,21 @@ { - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-07-21 16:48:02 GMT" + }, + "xAxis" : { + "type" : "category" }, "legend" : { "enabled" : "false" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "chart" : { + "type" : "column" }, "series" : [ { - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", "data" : [ { "drilldown" : "001", @@ -27,44 +23,44 @@ "name" : "#001" }, { - "name" : "#002", "drilldown" : "002", - "y" : 109 + "y" : 109, + "name" : "#002" }, { - "drilldown" : "003", + "name" : "#003", "y" : 71, - "name" : "#003" + "drilldown" : "003" }, { - "name" : "#004", + "y" : 91, "drilldown" : "004", - "y" : 91 + "name" : "#004" }, { - "name" : "#005", + "drilldown" : "005", "y" : 72, - "drilldown" : "005" + "name" : "#005" }, { - "name" : "#006", + "y" : 52, "drilldown" : "006", - "y" : 52 + "name" : "#006" }, { - "name" : "#007", "y" : 59, - "drilldown" : "007" + "drilldown" : "007", + "name" : "#007" }, { - "name" : "#008", + "y" : 72, "drilldown" : "008", - "y" : 72 + "name" : "#008" }, { "name" : "#009", - "y" : 68, - "drilldown" : "009" + "drilldown" : "009", + "y" : 68 }, { "y" : 60, @@ -72,39 +68,39 @@ "name" : "#010" }, { - "drilldown" : "011", + "name" : "#011", "y" : 79, - "name" : "#011" + "drilldown" : "011" }, { - "name" : "#012", + "drilldown" : "012", "y" : 83, - "drilldown" : "012" + "name" : "#012" }, { - "y" : 76, "drilldown" : "013", + "y" : 76, "name" : "#013" }, { - "name" : "#014", + "drilldown" : "014", "y" : 96, - "drilldown" : "014" + "name" : "#014" }, { - "drilldown" : "015", "y" : 93, + "drilldown" : "015", "name" : "#015" }, { - "drilldown" : "016", "y" : 66, + "drilldown" : "016", "name" : "#016" }, { + "name" : "#017", "y" : 79, - "drilldown" : "017", - "name" : "#017" + "drilldown" : "017" }, { "name" : "#018", @@ -112,19 +108,19 @@ "drilldown" : "018" }, { - "name" : "#019", + "y" : 97, "drilldown" : "019", - "y" : 97 + "name" : "#019" }, { - "y" : 95, "drilldown" : "020", + "y" : 95, "name" : "#020" }, { - "name" : "#021", + "drilldown" : "021", "y" : 67, - "drilldown" : "021" + "name" : "#021" }, { "name" : "#022", @@ -132,19 +128,19 @@ "drilldown" : "022" }, { + "name" : "#023", "drilldown" : "023", - "y" : 91, - "name" : "#023" + "y" : 91 }, { - "name" : "#024", + "drilldown" : "024", "y" : 70, - "drilldown" : "024" + "name" : "#024" }, { - "name" : "#025", "drilldown" : "025", - "y" : 55 + "y" : 55, + "name" : "#025" }, { "drilldown" : "026", @@ -157,29 +153,29 @@ "y" : 58 }, { - "y" : 78, + "name" : "#028", "drilldown" : "028", - "name" : "#028" + "y" : 78 }, { + "name" : "#029", "drilldown" : "029", - "y" : 77, - "name" : "#029" + "y" : 77 }, { + "name" : "#030", "y" : 115, - "drilldown" : "030", - "name" : "#030" + "drilldown" : "030" }, { - "name" : "#031", + "drilldown" : "031", "y" : 87, - "drilldown" : "031" + "name" : "#031" }, { - "name" : "#032", + "y" : 92, "drilldown" : "032", - "y" : 92 + "name" : "#032" }, { "y" : 108, @@ -188,8 +184,8 @@ }, { "name" : "#034", - "drilldown" : "034", - "y" : 62 + "y" : 62, + "drilldown" : "034" }, { "name" : "#035", @@ -197,9 +193,9 @@ "y" : 62 }, { - "name" : "#036", "drilldown" : "036", - "y" : 66 + "y" : 66, + "name" : "#036" }, { "y" : 65, @@ -207,54 +203,54 @@ "name" : "#037" }, { - "name" : "#038", + "drilldown" : "038", "y" : 65, - "drilldown" : "038" + "name" : "#038" }, { - "name" : "#039", + "drilldown" : "039", "y" : 60, - "drilldown" : "039" + "name" : "#039" }, { - "name" : "#040", "drilldown" : "040", - "y" : 71 + "y" : 71, + "name" : "#040" }, { + "name" : "#041", "drilldown" : "041", - "y" : 74, - "name" : "#041" + "y" : 74 }, { + "name" : "#042", "y" : 88, - "drilldown" : "042", - "name" : "#042" + "drilldown" : "042" }, { + "name" : "#043", "y" : 66, - "drilldown" : "043", - "name" : "#043" + "drilldown" : "043" }, { - "name" : "#044", "drilldown" : "044", - "y" : 82 + "y" : 82, + "name" : "#044" }, { - "drilldown" : "045", "y" : 94, + "drilldown" : "045", "name" : "#045" }, { "name" : "#046", - "drilldown" : "046", - "y" : 85 + "y" : 85, + "drilldown" : "046" }, { "name" : "#047", - "y" : 82, - "drilldown" : "047" + "drilldown" : "047", + "y" : 82 }, { "drilldown" : "048", @@ -262,34 +258,34 @@ "name" : "#048" }, { - "name" : "#049", "y" : 85, - "drilldown" : "049" + "drilldown" : "049", + "name" : "#049" }, { - "y" : 96, "drilldown" : "050", + "y" : 96, "name" : "#050" }, { + "name" : "#051", "y" : 87, - "drilldown" : "051", - "name" : "#051" + "drilldown" : "051" }, { - "name" : "#052", + "drilldown" : "052", "y" : 89, - "drilldown" : "052" + "name" : "#052" }, { - "name" : "#053", "drilldown" : "053", - "y" : 99 + "y" : 99, + "name" : "#053" }, { - "drilldown" : "054", + "name" : "#054", "y" : 101, - "name" : "#054" + "drilldown" : "054" }, { "name" : "#055", @@ -302,24 +298,24 @@ "y" : 93 }, { - "y" : 78, "drilldown" : "057", + "y" : 78, "name" : "#057" }, { - "name" : "#058", "y" : 62, - "drilldown" : "058" + "drilldown" : "058", + "name" : "#058" }, { - "name" : "#059", "drilldown" : "059", - "y" : 82 + "y" : 82, + "name" : "#059" }, { "name" : "#060", - "y" : 78, - "drilldown" : "060" + "drilldown" : "060", + "y" : 78 }, { "drilldown" : "061", @@ -327,9 +323,9 @@ "name" : "#061" }, { - "name" : "#062", "drilldown" : "062", - "y" : 54 + "y" : 54, + "name" : "#062" }, { "name" : "#063", @@ -342,13 +338,13 @@ "y" : 76 }, { - "name" : "#065", + "drilldown" : "065", "y" : 71, - "drilldown" : "065" + "name" : "#065" }, { - "y" : 81, "drilldown" : "066", + "y" : 81, "name" : "#066" }, { @@ -357,35 +353,34 @@ "name" : "#067" }, { + "name" : "#068", "y" : 68, - "drilldown" : "068", - "name" : "#068" + "drilldown" : "068" }, { - "y" : 80, "drilldown" : "069", + "y" : 80, "name" : "#069" }, { "name" : "#070", - "y" : 27, + "y" : 29, "drilldown" : "070" } - ] + ], + "name" : "Perl Weekly Challenge Languages", + "colorByPoint" : "true" } ], - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "followPointer" : "true" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "drilldown" : { "series" : [ { - "name" : "001", + "id" : "001", "data" : [ [ "Perl", @@ -400,9 +395,10 @@ 11 ] ], - "id" : "001" + "name" : "001" }, { + "id" : "002", "name" : "002", "data" : [ [ @@ -417,11 +413,9 @@ "Blog", 10 ] - ], - "id" : "002" + ] }, { - "id" : "003", "name" : "003", "data" : [ [ @@ -436,10 +430,11 @@ "Blog", 9 ] - ] + ], + "id" : "003" }, { - "name" : "004", + "id" : "004", "data" : [ [ "Perl", @@ -454,9 +449,11 @@ 10 ] ], - "id" : "004" + "name" : "004" }, { + "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -470,13 +467,9 @@ "Blog", 12 ] - ], - "name" : "005", - "id" : "005" + ] }, { - "id" : "006", - "name" : "006", "data" : [ [ "Perl", @@ -490,7 +483,9 @@ "Blog", 7 ] - ] + ], + "name" : "006", + "id" : "006" }, { "id" : "007", @@ -566,7 +561,6 @@ }, { "id" : "011", - "name" : "011", "data" : [ [ "Perl", @@ -580,10 +574,11 @@ "Blog", 10 ] - ] + ], + "name" : "011" }, { - "id" : "012", + "name" : "012", "data" : [ [ "Perl", @@ -598,7 +593,7 @@ 11 ] ], - "name" : "012" + "id" : "012" }, { "name" : "013", @@ -637,6 +632,7 @@ "id" : "014" }, { + "name" : "015", "data" : [ [ "Perl", @@ -651,10 +647,11 @@ 15 ] ], - "name" : "015", "id" : "015" }, { + "id" : "016", + "name" : "016", "data" : [ [ "Perl", @@ -668,12 +665,10 @@ "Blog", 12 ] - ], - "name" : "016", - "id" : "016" + ] }, { - "name" : "017", + "id" : "017", "data" : [ [ "Perl", @@ -688,11 +683,9 @@ 12 ] ], - "id" : "017" + "name" : "017" }, { - "id" : "018", - "name" : "018", "data" : [ [ "Perl", @@ -706,9 +699,13 @@ "Blog", 14 ] - ] + ], + "name" : "018", + "id" : "018" }, { + "id" : "019", + "name" : "019", "data" : [ [ "Perl", @@ -722,12 +719,9 @@ "Blog", 13 ] - ], - "name" : "019", - "id" |
