diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-06-02 14:35:02 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2021-06-02 14:35:02 +0100 |
| commit | e746b92e40c069db17e470b08be041c1b13ed026 (patch) | |
| tree | f29222cb214f5d1f6884717ba97e0a9a3e81b48a | |
| parent | 4876332c785edcf4998cdb75d16d4710e828ad52 (diff) | |
| download | perlweeklychallenge-club-e746b92e40c069db17e470b08be041c1b13ed026.tar.gz perlweeklychallenge-club-e746b92e40c069db17e470b08be041c1b13ed026.tar.bz2 perlweeklychallenge-club-e746b92e40c069db17e470b08be041c1b13ed026.zip | |
- Added solutions by Pete Houston.
| -rw-r--r-- | challenge-115/pete-houston/perl/ch-1.pl | 57 | ||||
| -rw-r--r-- | challenge-115/pete-houston/perl/ch-2.pl | 33 | ||||
| -rw-r--r-- | stats/pwc-current.json | 283 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 64 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 842 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 736 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 60 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 122 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 54 |
15 files changed, 1377 insertions, 1272 deletions
diff --git a/challenge-115/pete-houston/perl/ch-1.pl b/challenge-115/pete-houston/perl/ch-1.pl new file mode 100644 index 0000000000..9689794d84 --- /dev/null +++ b/challenge-115/pete-houston/perl/ch-1.pl @@ -0,0 +1,57 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 11501.pl +# +# USAGE: ./11501.pl [-e ENC ] STRING STRING [ STRING ... ] +# +# DESCRIPTION: Print 1 if the given string set is circular, 0 otherwise +# +# OPTIONS: use -e to specify an encoding other than UTF-8 for the +# strings +# REQUIREMENTS: Encode, Getopt::Std, Perl 5.010 or newer +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# VERSION: 1.0 +# CREATED: 02/06/21 +#=============================================================================== + +use strict; +use warnings; +use 5.010; +use Encode 'decode'; +use Getopt::Std; + +my $enc = get_enc (); +die "There must be a minimum of 2 string arguments\n" if 2 > @ARGV; + +# Turn it into an AoH with str, start, end which is then +# sorted into a possible chain +my @sorted = sort { + $a->{end} eq $b->{start} ? -1 : + $b->{end} eq $a->{start} ? 1 : + 0 + } map { + $_ = decode ($enc, $_, Encode::FB_CROAK); + { + str => $_, + start => substr ($_, 0, 1), + end => substr ($_, -1, 1) + } + } @ARGV; + +# Determine if the sorted set is really circular +for my $i (0 .. $#sorted) { + unless ($sorted[$i - 1]->{end} eq $sorted[$i]->{start}) { + print "0\n"; + exit; + } +} +print "1\n"; + +sub get_enc { + my %opts; + getopts ('e:', \%opts); + my $enc = $opts{e} // 'UTF-8'; + return $enc; +} diff --git a/challenge-115/pete-houston/perl/ch-2.pl b/challenge-115/pete-houston/perl/ch-2.pl new file mode 100644 index 0000000000..4c3414de00 --- /dev/null +++ b/challenge-115/pete-houston/perl/ch-2.pl @@ -0,0 +1,33 @@ +#!/usr/bin/env perl +#=============================================================================== +# +# FILE: 11502.pl +# +# USAGE: ./11502.pl N [ N ... ] +# +# DESCRIPTION: Output largest multiple of 2 formed from the given digits +# +# REQUIREMENTS: Perl 5.10 (for 'say') +# NOTES: Each N must be a decimal digit +# AUTHOR: Pete Houston (pete), cpan@openstrike.co.uk +# ORGANIZATION: Openstrike +# VERSION: 1.0 +# CREATED: 02/06/21 +#=============================================================================== + +use strict; +use warnings; +use feature 'say'; + +# Sort ascending +my @n = sort @ARGV; + +# Find the lowest even digit +my ($i) = grep { 0 == $n[$_] % 2 } 0 .. $#n; + +# If no even digits the task is impossible +die "No multiple of 2 possible with (@ARGV)\n" unless defined $i; + +# Print digits descending but with lowest even digit at the end +unshift @n, splice (@n, $i, 1) if $i; +say reverse @n; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 9ea882db01..da8bacd0af 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,126 +1,19 @@ { - "legend" : { - "enabled" : 0 - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 115", - "data" : [ - { - "drilldown" : "Andinus", - "name" : "Andinus", - "y" : 2 - }, - { - "drilldown" : "Dave Cross", - "y" : 2, - "name" : "Dave Cross" - }, - { - "drilldown" : "Dave Jacoby", - "y" : 3, - "name" : "Dave Jacoby" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "name" : "Feng Chang", - "y" : 2, - "drilldown" : "Feng Chang" - }, - { - "drilldown" : "Flavio Poletti", - "name" : "Flavio Poletti", - "y" : 6 - }, - { - "y" : 2, - "name" : "James Smith", - "drilldown" : "James Smith" - }, - { - "name" : "Luca Ferrari", - "y" : 4, - "drilldown" : "Luca Ferrari" - }, - { - "y" : 1, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "name" : "Niels van Dijke", - "y" : 2, - "drilldown" : "Niels van Dijke" - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 - }, - { - "y" : 3, - "name" : "Simon Green", - "drilldown" : "Simon Green" - }, - { - "name" : "Stuart Little", - "y" : 4, - "drilldown" : "Stuart Little" - }, - { - "drilldown" : "Ulrich Rieke", - "y" : 4, - "name" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "y" : 3, - "name" : "W. Luis Mochan" - } - ] - } - ], "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "enabled" : 1, + "format" : "{point.y}" + } } }, - "chart" : { - "type" : "column" - }, - "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/>" - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "Perl Weekly Challenge - 115" - }, "subtitle" : { - "text" : "[Champions: 15] Last updated at 2021-06-02 13:26:00 GMT" + "text" : "[Champions: 16] Last updated at 2021-06-02 13:34:20 GMT" }, "drilldown" : { "series" : [ { - "id" : "Andinus", - "name" : "Andinus", "data" : [ [ "Raku", @@ -130,19 +23,23 @@ "Blog", 1 ] - ] + ], + "id" : "Andinus", + "name" : "Andinus" }, { + "name" : "Dave Cross", + "id" : "Dave Cross", "data" : [ [ "Perl", 2 ] - ], - "id" : "Dave Cross", - "name" : "Dave Cross" + ] }, { + "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -152,23 +49,21 @@ "Blog", 1 ] - ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + ] }, { - "name" : "E. Choroba", - "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "E. Choroba", + "name" : "E. Choroba" }, { - "name" : "Feng Chang", "id" : "Feng Chang", + "name" : "Feng Chang", "data" : [ [ "Raku", @@ -201,8 +96,8 @@ 2 ] ], - "id" : "James Smith", - "name" : "James Smith" + "name" : "James Smith", + "id" : "James Smith" }, { "data" : [ @@ -239,8 +134,18 @@ "id" : "Niels van Dijke" }, { - "id" : "Roger Bell_West", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Pete Houston", + "id" : "Pete Houston" + }, + { "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -253,6 +158,8 @@ ] }, { + "name" : "Simon Green", + "id" : "Simon Green", "data" : [ [ "Perl", @@ -262,9 +169,7 @@ "Blog", 1 ] - ], - "name" : "Simon Green", - "id" : "Simon Green" + ] }, { "data" : [ @@ -277,12 +182,12 @@ 2 ] ], - "id" : "Stuart Little", - "name" : "Stuart Little" + "name" : "Stuart Little", + "id" : "Stuart Little" }, { - "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -305,9 +210,119 @@ 1 ] ], - "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan" + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" } ] + }, + "title" : { + "text" : "Perl Weekly Challenge - 115" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, + "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 - 115", + "data" : [ + { + "drilldown" : "Andinus", + "y" : 2, + "name" : "Andinus" + }, + { + "y" : 2, + "name" : "Dave Cross", + "drilldown" : "Dave Cross" + }, + { + "y" : 3, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "name" : "Feng Chang", + "y" : 2, + "drilldown" : "Feng Chang" + }, + { + "y" : 6, + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti" + }, + { + "y" : 2, + "name" : "James Smith", + "drilldown" : "James Smith" + }, + { + "name" : "Luca Ferrari", + "y" : 4, + "drilldown" : "Luca Ferrari" + }, + { + "name" : "Mark Anderson", + "y" : 1, + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "y" : 2 + }, + { + "drilldown" : "Pete Houston", + "y" : 2, + "name" : "Pete Houston" + }, + { + "name" : "Roger Bell_West", + "y" : 4, + "drilldown" : "Roger Bell_West" + }, + { + "y" : 3, + "name" : "Simon Green", + "drilldown" : "Simon Green" + }, + { + "drilldown" : "Stuart Little", + "name" : "Stuart Little", + "y" : 4 + }, + { + "name" : "Ulrich Rieke", + "y" : 4, + "drilldown" : "Ulrich Rieke" + }, + { + "name" : "W. Luis Mochan", + "y" : 3, + "drilldown" : "W. Luis Mochan" + } + ] + } + ], + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index dd6725b1ab..28b544405e 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -2,32 +2,32 @@ "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, - "subtitle" : { - "text" : "Last updated at 2021-06-02 13:26:00 GMT" - }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 - }, - "chart" : { - "type" : "column" + } }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" + "legend" : { + "enabled" : "false" }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, "series" : [ { + "dataLabels" : { + "rotation" : -90, + "enabled" : "true", + "align" : "right", + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "y" : 10, + "color" : "#FFFFFF", + "format" : "{point.y:.0f}" + }, "name" : "Contributions", "data" : [ [ @@ -36,28 +36,28 @@ ], [ "Perl", - 5429 + 5431 ], [ "Raku", 3449 ] - ], - "dataLabels" : { - "enabled" : "true", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "format" : "{point.y:.0f}", - "rotation" : -90, - "y" : 10, - "align" : "right", - "color" : "#FFFFFF" - } + ] } ], - "legend" : { - "enabled" : "false" + "chart" : { + "type" : "column" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" + }, + "subtitle" : { + "text" : "Last updated at 2021-06-02 13:34:19 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 0a381a8b6c..d23858f31c 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,20 +1,6 @@ { - "legend" : { - "enabled" : "false" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, "series" : [ { - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages", "data" : [ { "y" : 161, @@ -27,114 +13,114 @@ "drilldown" : "002" }, { + "drilldown" : "003", "y" : 81, - "name" : "#003", - "drilldown" : "003" + "name" : "#003" }, { - "name" : "#004", "y" : 99, + "name" : "#004", "drilldown" : "004" }, { "drilldown" : "005", - "name" : "#005", - "y" : 78 + "y" : 78, + "name" : "#005" }, { - "name" : "#006", "y" : 58, + "name" : "#006", "drilldown" : "006" }, { - "drilldown" : "007", + "y" : 64, "name" : "#007", - "y" : 64 + "drilldown" : "007" }, { - "drilldown" : "008", + "y" : 78, "name" : "#008", - "y" : 78 + "drilldown" : "008" }, { + "drilldown" : "009", "y" : 76, - "name" : "#009", - "drilldown" : "009" + "name" : "#009" }, { - "drilldown" : "010", + "y" : 65, "name" : "#010", - "y" : 65 + "drilldown" : "010" }, { + "drilldown" : "011", "y" : 85, - "name" : "#011", - "drilldown" : "011" + "name" : "#011" }, { + "drilldown" : "012", "y" : 89, - "name" : "#012", - "drilldown" : "012" + "name" : "#012" }, { "drilldown" : "013", - "y" : 85, - "name" : "#013" + "name" : "#013", + "y" : 85 }, { + "drilldown" : "014", "name" : "#014", - "y" : 101, - "drilldown" : "014" + "y" : 101 }, { - "drilldown" : "015", "y" : 99, - "name" : "#015" + "name" : "#015", + "drilldown" : "015" }, { + "drilldown" : "016", "y" : 71, - "name" : "#016", - "drilldown" : "016" + "name" : "#016" }, { - "drilldown" : "017", + "y" : 84, "name" : "#017", - "y" : 84 + "drilldown" : "017" }, { - "y" : 81, "name" : "#018", + "y" : 81, "drilldown" : "018" }, { - "drilldown" : "019", "name" : "#019", - "y" : 103 + "y" : 103, + "drilldown" : "019" }, { - "drilldown" : "020", "name" : "#020", - "y" : 101 + "y" : 101, + "drilldown" : "020" }, { + "drilldown" : "021", "name" : "#021", - "y" : 72, - "drilldown" : "021" + "y" : 72 }, { - "y" : 68, "name" : "#022", + "y" : 68, "drilldown" : "022" }, { + "drilldown" : "023", "y" : 97, - "name" : "#023", - "drilldown" : "023" + "name" : "#023" }, { - "drilldown" : "024", "y" : 74, - "name" : "#024" + "name" : "#024", + "drilldown" : "024" }, { "drilldown" : "025", @@ -142,8 +128,8 @@ "name" : "#025" }, { - "y" : 74, "name" : "#026", + "y" : 74, "drilldown" : "026" }, { @@ -157,13 +143,13 @@ "name" : "#028" }, { - "y" : 79, + "drilldown" : "029", "name" : "#029", - "drilldown" : "029" + "y" : 79 }, { - "name" : "#030", "y" : 117, + "name" : "#030", "drilldown" : "030" }, { @@ -172,9 +158,9 @@ "drilldown" : "031" }, { - "y" : 94, + "drilldown" : "032", "name" : "#032", - "drilldown" : "032" + "y" : 94 }, { "drilldown" : "033", @@ -182,19 +168,19 @@ "name" : "#033" }, { - "drilldown" : "034", + "name" : "#034", "y" : 64, - "name" : "#034" + "drilldown" : "034" }, { - "y" : 64, "name" : "#035", + "y" : 64, "drilldown" : "035" }, { + "drilldown" : "036", "y" : 68, - "name" : "#036", - "drilldown" : "036" + "name" : "#036" }, { "drilldown" : "037", @@ -208,18 +194,18 @@ }, { "drilldown" : "039", - "name" : "#039", - "y" : 62 + "y" : 62, + "name" : "#039" }, { - "drilldown" : "040", "name" : "#040", - "y" : 73 + "y" : 73, + "drilldown" : "040" }, { "drilldown" : "041", - "y" : 76, - "name" : "#041" + "name" : "#041", + "y" : 76 }, { "y" : 92, @@ -228,12 +214,12 @@ }, { "drilldown" : "043", - "y" : 68, - "name" : "#043" + "name" : "#043", + "y" : 68 }, { - "y" : 85, "name" : "#044", + "y" : 85, "drilldown" : "044" }, { @@ -252,39 +238,39 @@ "drilldown" : "047" }, { - "drilldown" : "048", "y" : 108, - "name" : "#048" + "name" : "#048", + "drilldown" : "048" }, { "drilldown" : "049", - "name" : "#049", - "y" : 89 + "y" : 89, + "name" : "#049" }, { - "drilldown" : "050", "y" : 98, - "name" : "#050" + "name" : "#050", + "drilldown" : "050" }, { - "name" : "#051", "y" : 89, + "name" : "#051", "drilldown" : "051" }, { - "drilldown" : "052", "name" : "#052", - "y" : 91 + "y" : 91, + "drilldown" : "052" }, { - "drilldown" : "053", + "name" : "#053", "y" : 101, - "name" : "#053" + "drilldown" : "053" }, { - "drilldown" : "054", + "name" : "#054", "y" : 103, - "name" : "#054" + "drilldown" : "054" }, { "drilldown" : "055", @@ -293,58 +279,58 @@ }, { "drilldown" : "056", - "name" : "#056", - "y" : 95 + "y" : 95, + "name" : "#056" }, { "drilldown" : "057", - "name" : "#057", - "y" : 80 + "y" : 80, + "name" : "#057" }, { - "drilldown" : "058", + "y" : 69, "name" : "#058", - "y" : 69 + "drilldown" : "058" }, { "drilldown" : "059", - "y" : 89, - "name" : "#059" + "name" : "#059", + "y" : 89 }, { - "name" : "#060", "y" : 85, + "name" : "#060", "drilldown" : "060" }, { - "drilldown" : "061", + "name" : "#061", "y" : 81, - "name" : "#061" + "drilldown" : "061" }, { - "drilldown" : "062", + "y" : 58, "name" : "#062", - "y" : 58 + "drilldown" : "062" }, { - "y" : 89, + "drilldown" : "063", "name" : "#063", - "drilldown" : "063" + "y" : 89 }, { - "y" : 80, "name" : "#064", + "y" : 80, "drilldown" : "064" }, { - "y" : 73, "name" : "#065", + "y" : 73, "drilldown" : "065" }, { "drilldown" : "066", - "y" : 84, - "name" : "#066" + "name" : "#066", + "y" : 84 }, { "drilldown" : "067", @@ -352,14 +338,14 @@ "y" : 90 }, { - "drilldown" : "068", "name" : "#068", - "y" : 75 + "y" : 75, + "drilldown" : "068" }, { - "drilldown" : "069", + "name" : "#069", "y" : 83, - "name" : "#069" + "drilldown" : "069" }, { "drilldown" : "070", @@ -367,9 +353,9 @@ "y" : 93 }, { - "drilldown" : "071", "y" : 78, - "name" : "#071" + "name" : "#071", + "drilldown" : "071" }, { "drilldown" : "072", @@ -387,9 +373,9 @@ "drilldown" : "074" }, { + "drilldown" : "075", "name" : "#075", - "y" : 113, - "drilldown" : "075" + "y" : 113 }, { "drilldown" : "076", @@ -397,79 +383,79 @@ "name" : "#076" }, { - "name" : "#077", + "drilldown" : "077", "y" : 98, - "drilldown" : "077" + "name" : "#077" }, { - "name" : "#078", "y" : 127, + "name" : "#078", "drilldown" : "078" }, { - "y" : 122, + "drilldown" : "079", "name" : "#079", - "drilldown" : "079" + "y" : 122 }, { "drilldown" : "080", - "y" : 127, - "name" : "#080" + "name" : "#080", + "y" : 127 } |
