diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-03-16 17:18:50 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-03-16 17:18:50 +0000 |
| commit | 388e2c7190fd7a065486b65f203531c0c31fd5e6 (patch) | |
| tree | 6caff57820f378463aee2e9720445d10beb531d8 | |
| parent | 4cf785fea31c1b14b9f131e614f4db90fda9a8bf (diff) | |
| download | perlweeklychallenge-club-388e2c7190fd7a065486b65f203531c0c31fd5e6.tar.gz perlweeklychallenge-club-388e2c7190fd7a065486b65f203531c0c31fd5e6.tar.bz2 perlweeklychallenge-club-388e2c7190fd7a065486b65f203531c0c31fd5e6.zip | |
- Added solutions by Wanderdoc.
| -rw-r--r-- | challenge-052/wanderdoc/perl/ch-1.pl | 42 | ||||
| -rw-r--r-- | challenge-052/wanderdoc/perl/ch-2.pl | 52 | ||||
| -rw-r--r-- | stats/pwc-current.json | 123 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 66 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 426 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 740 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 40 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 44 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 346 |
13 files changed, 1114 insertions, 1005 deletions
diff --git a/challenge-052/wanderdoc/perl/ch-1.pl b/challenge-052/wanderdoc/perl/ch-1.pl new file mode 100644 index 0000000000..a9ab5d3882 --- /dev/null +++ b/challenge-052/wanderdoc/perl/ch-1.pl @@ -0,0 +1,42 @@ +#!perl +use strict; +use warnings FATAL => qw(all); + +=prompt +Write a script to accept two numbers between 100 and 999. It should then print all Stepping Numbers between them. + A number is called a stepping number if the adjacent digits have a difference of 1. For example, 456 is a stepping number but 129 is not. +=cut + + + + + + +use Getopt::Long; +use List::Util qw(first); + +my %par = (low => 100, high => 999); + +GetOptions( "low|l=i" => \$par{low}, + "high|h=i" => \$par{high},) +or die("Error in command line!\n"); +die "Numbers must be positive integers between 100 and 999!$/" + if defined first { $_ <= 0 or $_ < 100 or $_ > 999 } values %par; +die "The second number must be bigger!$/" unless ($par{high} > $par{low}); + +my $NUM = $par{low}; +while ( $NUM <= $par{high} ) +{ + my @digits = split(//,$NUM); + + if ( (1 == ($digits[1] - $digits[0]) and 1 == ($digits[2] - $digits[1])) + or + (1 == ($digits[1] - $digits[2]) and 1 == ($digits[0] - $digits[1])) + ) + { + print $NUM, $/; + } + + + $NUM++; +}
\ No newline at end of file diff --git a/challenge-052/wanderdoc/perl/ch-2.pl b/challenge-052/wanderdoc/perl/ch-2.pl new file mode 100644 index 0000000000..3ded7975aa --- /dev/null +++ b/challenge-052/wanderdoc/perl/ch-2.pl @@ -0,0 +1,52 @@ +#!perl +use strict; +use warnings FATAL => qw(all); + +=prompt +Suppose there are following coins arranged on a table in a line in random order. + £1, 50p, 1p, 10p, 5p, 20p, £2, 2p +Suppose you are playing against the computer. Player can only pick one coin at a time from either ends. Find out the lucky winner, who has the larger amounts in total? +=cut + + + + + +use utf8; +use List::Util qw(shuffle sum reduce); +my %money = ( '£1' => 100, '50p' => 50, + '1p' => 1, '10p' => 10, + '5p' => 5, '20p' => 20, + '£2' => 200, '2p' => 2 ); +my %values = reverse %money; + +my %result; + + + +for my $i ( 1 .. 1_000 ) +{ + my @set = shuffle keys %values; # :-) + my %players = (PC => [], ME => [],); + while ( @set ) + { + for my $player ( sort {$b cmp $a} keys %players ) # PC first. + { + if ( $set[0] > $set[-1] ) + { + push @{$players{$player}}, shift @set; + } + + + else + { + push @{$players{$player}}, pop @set; + } + } + } + + my $winner = reduce { sum(@{$players{$a}}) > sum(@{$players{$b}}) ? $a : $b } keys %players; + + $result{$winner}++; +} +print "$_ => $result{$_}$/" for keys %result;
\ No newline at end of file diff --git a/stats/pwc-current.json b/stats/pwc-current.json index d88b6c4bda..ebc082179c 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,108 +1,123 @@ { - "series" : [ - { - "colorByPoint" : 1, - "data" : [ - { - "name" : "Dave Cross", - "drilldown" : "Dave Cross", - "y" : 2 - }, - { - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby", - "y" : 1 - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 1 - }, - { - "drilldown" : "Yet Ebreo", - "name" : "Yet Ebreo", - "y" : 1 - } - ], - "name" : "Perl Weekly Challenge - 052" + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 } - ], - "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/>" }, "title" : { "text" : "Perl Weekly Challenge - 052" }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "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/>" + }, "drilldown" : { "series" : [ { + "name" : "Dave Cross", + "id" : "Dave Cross", "data" : [ [ "Perl", 2 ] - ], - "name" : "Dave Cross", - "id" : "Dave Cross" + ] }, { + "name" : "Dave Jacoby", "id" : "Dave Jacoby", "data" : [ [ "Perl", 1 ] - ], - "name" : "Dave Jacoby" + ] }, { - "id" : "Simon Proctor", "data" : [ [ "Raku", 1 ] ], + "id" : "Simon Proctor", "name" : "Simon Proctor" }, { + "name" : "Wanderdoc", + "id" : "Wanderdoc", + "data" : [ + [ + "Perl", + 2 + ] + ] + }, + { + "id" : "Yet Ebreo", "name" : "Yet Ebreo", "data" : [ [ "Perl", 1 ] - ], - "id" : "Yet Ebreo" + ] } ] }, - "subtitle" : { - "text" : "[Champions: 4] Last updated at 2020-03-16 16:31:21 GMT" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } + "series" : [ + { + "name" : "Perl Weekly Challenge - 052", + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Dave Cross", + "y" : 2, + "name" : "Dave Cross" + }, + { + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 1 + }, + { + "name" : "Simon Proctor", + "y" : 1, + "drilldown" : "Simon Proctor" + }, + { + "y" : 2, + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc" + }, + { + "y" : 1, + "drilldown" : "Yet Ebreo", + "name" : "Yet Ebreo" + } + ] } + ], + "subtitle" : { + "text" : "[Champions: 5] Last updated at 2020-03-16 17:18:23 GMT" }, "xAxis" : { "type" : "category" }, "legend" : { "enabled" : 0 - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 234ab1e1a6..fb37709064 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,39 +1,36 @@ { - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, "xAxis" : { - "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - } + }, + "type" : "category" }, "legend" : { "enabled" : "false" }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "subtitle" : { - "text" : "Last updated at 2020-03-16 16:31:21 GMT" + "text" : "Last updated at 2020-03-16 17:18:23 GMT" }, "series" : [ { - "dataLabels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "format" : "{point.y:.0f}", - "y" : 10, - "rotation" : -90, - "align" : "right", - "color" : "#FFFFFF", - "enabled" : "true" - }, "name" : "Contributions", "data" : [ [ @@ -42,22 +39,25 @@ ], [ "Perl", - 2164 + 2166 ], [ "Raku", 1322 ] - ] + ], + "dataLabels" : { + "rotation" : -90, + "format" : "{point.y:.0f}", + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "enabled" : "true", + "y" : 10, + "color" : "#FFFFFF", + "align" : "right" + } } - ], - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "chart" : { - "type" : "column" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 1cd77bb4d9..10ac6f2926 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,18 +1,4 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, "legend" : { "enabled" : "false" }, @@ -20,19 +6,12 @@ "type" : "category" }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-03-16 16:31:21 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "tooltip" : { - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : "true" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-03-16 17:18:23 GMT" }, "drilldown" : { "series" : [ { + "id" : "001", "name" : "001", "data" : [ [ @@ -47,11 +26,9 @@ "Blog", 11 ] - ], - "id" : "001" + ] }, { - "name" : "002", "data" : [ [ "Perl", @@ -66,10 +43,10 @@ 10 ] ], - "id" : "002" + "id" : "002", + "name" : "002" }, { - "id" : "003", "data" : [ [ "Perl", @@ -84,10 +61,10 @@ 9 ] ], - "name" : "003" + "name" : "003", + "id" : "003" }, { - "name" : "004", "data" : [ [ "Perl", @@ -102,6 +79,7 @@ 10 ] ], + "name" : "004", "id" : "004" }, { @@ -123,7 +101,6 @@ ] }, { - "name" : "006", "data" : [ [ "Perl", @@ -138,11 +115,10 @@ 7 ] ], + "name" : "006", "id" : "006" }, { - "id" : "007", - "name" : "007", "data" : [ [ "Perl", @@ -156,10 +132,13 @@ "Blog", 10 ] - ] + ], + "id" : "007", + "name" : "007" }, { "id" : "008", + "name" : "008", "data" : [ [ "Perl", @@ -173,10 +152,11 @@ "Blog", 12 ] - ], - "name" : "008" + ] }, { + "name" : "009", + "id" : "009", "data" : [ [ "Perl", @@ -190,12 +170,9 @@ "Blog", 13 ] - ], - "name" : "009", - "id" : "009" + ] }, { - "id" : "010", "data" : [ [ "Perl", @@ -210,9 +187,11 @@ 11 ] ], - "name" : "010" + "name" : "010", + "id" : "010" }, { + "name" : "011", "id" : "011", "data" : [ [ @@ -227,12 +206,9 @@ "Blog", 10 ] - ], - "name" : "011" + ] }, { - "id" : "012", - "name" : "012", "data" : [ [ "Perl", @@ -246,11 +222,11 @@ "Blog", 11 ] - ] + ], + "name" : "012", + "id" : "012" }, { - "id" : "013", - "name" : "013", "data" : [ [ "Perl", @@ -264,9 +240,13 @@ "Blog", 13 ] - ] + ], + "name" : "013", + "id" : "013" }, { + "name" : "014", + "id" : "014", "data" : [ [ "Perl", @@ -280,11 +260,10 @@ "Blog", 15 ] - ], - "name" : "014", - "id" : "014" + ] }, { + "id" : "015", "name" : "015", "data" : [ [ @@ -299,8 +278,7 @@ "Blog", 15 ] - ], - "id" : "015" + ] }, { "id" : "016", @@ -339,8 +317,6 @@ "id" : "017" }, { - "id" : "018", - "name" : "018", "data" : [ [ "Perl", @@ -354,9 +330,12 @@ "Blog", 14 ] - ] + ], + "name" : "018", + "id" : "018" }, { + "name" : "019", "id" : "019", "data" : [ [ @@ -371,11 +350,9 @@ "Blog", 13 ] - ], - "name" : "019" + ] }, { - "name" : "020", "data" : [ [ "Perl", @@ -390,9 +367,11 @@ 13 ] ], - "id" : "020" + "id" : "020", + "name" : "020" }, { + "name" : "021", "id" : "021", "data" : [ [ @@ -407,8 +386,7 @@ "Blog", 10 ] - ], - "name" : "021" + ] }, { "data" : [ @@ -425,8 +403,8 @@ 10 ] ], - "name" : "022", - "id" : "022" + "id" : "022", + "name" : "022" }, { "data" : [ @@ -447,8 +425,6 @@ "id" : "023" }, { - "id" : "024", - "name" : "024", "data" : [ [ "Perl", @@ -462,7 +438,9 @@ "Blog", 11 ] - ] + ], + "id" : "024", + "name" : "024" }, { "data" : [ @@ -483,7 +461,6 @@ "id" : "025" }, { - "id" : "026", "data" : [ [ "Perl", @@ -498,11 +475,10 @@ 10 ] ], + "id" : "026", "name" : "026" }, { - "id" : "027", - "name" : "027", "data" : [ [ "Perl", @@ -516,10 +492,11 @@ "Blog", 9 ] - ] + ], + "id" : "027", + "name" : "027" }, { - "name" : "028", "data" : [ [ "Perl", @@ -534,10 +511,10 @@ 9 ] ], - "id" : "028" + "id" : "028", + "name" : "028" }, { - "id" : "029", "data" : [ [ "Perl", @@ -552,9 +529,11 @@ 12 ] ], + "id" : "029", "name" : "029" }, { + "name" : "030", "id" : "030", "data" : [ [ @@ -569,11 +548,11 @@ "Blog", 10 ] - ], - "name" : "030" + ] }, { "name" : "031", + "id" : "031", "data" : [ [ "Perl", @@ -587,11 +566,9 @@ "Blog", 9 ] - ], - "id" : "031" + ] }, { - "name" : "032", "data" : [ [ "Perl", @@ -606,9 +583,11 @@ 10 ] ], - "id" : "032" + "id" : "032", + "name" : "032" }, { + "id" : "033", "name" : "033", "data" : [ [ @@ -623,12 +602,9 @@ "Blog", 10 ] - ], - "id" : "033" + ] }, { - "id" : "034", - "name" : "034", "data" : [ [ "Perl", @@ -642,10 +618,11 @@ "Blog", 11 ] - ] + ], + "name" : "034", + "id" : "034" }, { - "id" : "035", "data" : [ [ "Perl", @@ -660,10 +637,10 @@ 9 ] ], + "id" : "035", "name" : "035" }, { - "name" : "036", "data" : [ [ "Perl", @@ -678,9 +655,11 @@ 10 ] ], + "name" : "036", "id" : "036" }, { + "id" : "037", "name" : "037", "data" : [ [ @@ -695,11 +674,9 @@ "Blog", 9 ] - ], - "id" : "037" + ] }, { - "id" : "038", "data" : [ [ "Perl", @@ -714,9 +691,12 @@ 12 ] ], + "id" : "038", "name" : "038" }, { + "id" : "039", + "name" : "039", "data" : [ [ "Perl", @@ -730,11 +710,11 @@ "Blog", 12 ] - ], - "name" : "039", - "id" : "039" + ] }, { + "id" : "040", + "name" : "040", "data" : [ [ "Perl", @@ -748,11 +728,10 @@ "Blog", 9 ] - ], - "name" : "040", - "id" : "040" + ] }, { + "name" : "041", "id" : "041", "data" : [ [ @@ -767,12 +746,11 @@ "Blog", 8 ] - ], - "name" : "041" + ] }, { - "id" : "042", "name" : "042", + "id" : "042", "data" : [ [ "Perl", @@ -803,11 +781,10 @@ 10 ] ], - "name" : "043", - "id" : "043" + "id" : "043", + "name" : "043" }, { - "id" : "044", "data" : [ [ "Perl", @@ -822,9 +799,12 @@ 10 ] ], - "name" : "044" + "name" : "044", + "id" : "044" }, { + "name" : "045", + "id" : "045", "data" : [ [ "Perl", @@ -838,13 +818,11 @@ "Blog", 11 ] - ], - "name" : "045", - "id" : "045" + ] }, { - "id" : "046", "name" : "046", + "id" : "046", "data" : [ [ "Perl", @@ -861,6 +839,7 @@ ] }, { + "name" : "047", "id" : "047", "data" : [ [ @@ -875,11 +854,9 @@ "Blog", 10 ] - ], - "name" : "047" + ] }, { - "name" : "048", "data" : [ [ "Perl", @@ -894,11 +871,10 @@ 12 ] ], + "name" : "048", "id" : "048" }, { - "id" : "049", - "name" : "049", "data" : [ [ "Perl", @@ -912,10 +888,11 @@ "Blog", 11 ] - ] + ], + "name" : "049", + "id" : "049" }, { - "id" : "050", "data" : [ [ "Perl", @@ -930,10 +907,12 @@ 11 ] ], + "id" : "050", "name" : "050" }, { "name" : "051", + "id" : "051", "data" : [ [ "Perl", @@ -947,15 +926,15 @@ "Blog", 10 ] - ], - "id" : "051" + ] }, { + "id" : "052", "name" : "052", "data" : [ [ "Perl", - 4 + 6 ], [ "Raku", @@ -965,138 +944,134 @@ "Blog", 0 ] - ], - "id" : "052" + ] } ] }, - "chart" : { - "type" : "column" - }, "series" : [ { - "name" : "Perl Weekly Challenge Languages", "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Languages", "data" : [ { "name" : "#001", - "drilldown" : "001", - "y" : 140 + "y" : 140, + "drilldown" : "001" }, { "name" : "#002", - "drilldown" : "002", - "y" : 109 + "y" : 109, + "drilldown" : "002" }, { - "y" : 71, + "name" : "#003", "drilldown" : "003", - "name" : "#003" + "y" : 71 }, { + "name" : "#004", "y" : 91, - "drilldown" : "004", - "name" : "#004" + "drilldown" : "004" }, { + "drilldown" : "005", "y" : 71, - "name" : "#005", - "drilldown" : "005" + "name" : "#005" }, { - "y" : 52, "name" : "#006", - "drilldown" : "006" + "drilldown" : "006", + "y" : 52 }, { - "y" : 58, "drilldown" : "007", + "y" : 58, "name" : "#007" }, { - "drilldown" : "008", "name" : "#008", - "y" : 70 + "y" : 70, + "drilldown" : "008" }, { - "y" : 68, + "name" : "#009", "drilldown" : "009", - "name" : "#009" + "y" : 68 }, { + "y" : 60, "drilldown" : "010", - "name" : "#010", - "y" : 60 + "name" : "#010" }, { "name" : "#011", - "drilldown" : "011", - "y" : 79 + "y" : 79, + "drilldown" : "011" |
