diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-03-16 20:45:02 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-03-16 20:45:02 +0000 |
| commit | 77a796b73be1dcbba5543bbbc6acad2c923b06ff (patch) | |
| tree | 7fcfaf6b8c14fdf887438e7d8b13c6a148ad1607 | |
| parent | 27a4353559838cbdd2fbf79c7ab02c7a2e810d8d (diff) | |
| download | perlweeklychallenge-club-77a796b73be1dcbba5543bbbc6acad2c923b06ff.tar.gz perlweeklychallenge-club-77a796b73be1dcbba5543bbbc6acad2c923b06ff.tar.bz2 perlweeklychallenge-club-77a796b73be1dcbba5543bbbc6acad2c923b06ff.zip | |
- Added solution to Lucky Winner task.
| -rw-r--r-- | challenge-052/mohammad-anwar/perl/ch-2.pl | 65 | ||||
| -rw-r--r-- | stats/pwc-current.json | 114 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 38 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 412 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 762 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 348 |
12 files changed, 1088 insertions, 1023 deletions
diff --git a/challenge-052/mohammad-anwar/perl/ch-2.pl b/challenge-052/mohammad-anwar/perl/ch-2.pl new file mode 100644 index 0000000000..7db20234ac --- /dev/null +++ b/challenge-052/mohammad-anwar/perl/ch-2.pl @@ -0,0 +1,65 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +my $coins = { + 100 => "£1", 50 => "50p", 1 => "1p", 10 => "10p", + 5 => "5p", 20 => "20p", 200 => "£2", 2 => "2p" , +}; + +my $table = [ keys %$coins ]; +my $players = { + 0 => { "name" => "Human", "bank" => 0, "coins" => [] }, + 1 => { "name" => "Machine", "bank" => 0, "coins" => [] }, +}; + +my $current = 1; # Machine gets to pick coin first. + +my $coin; +while ($#$table) { + if ($table->[0] > $table->[-1]) { + $coin = shift @$table; + } + else { + $coin = pop @$table; + } + + $players->{$current}->{bank} += $coin; + push @{$players->{$current}->{coins}}, $coins->{$coin}; + + $current = ($current)?(0):(1); +} + +$coin = shift @$table; +$players->{$current}->{bank} += $coin; +push @{$players->{$current}->{coins}}, $coins->{$coin}; + +_declare_winner($players); +_show_coins($players); + +# +# +# METHODS + +sub _declare_winner { + my ($players) = @_; + + print "The winner is "; + if ($players->{0}->{bank} > $players->{1}->{bank}) { + print $players->{0}->{name}; + } + else { + print $players->{1}->{name}; + } + print "\n"; +} + +sub _show_coins { + my ($players) = @_; + + foreach (0..1) { + print sprintf("%s picked coins %s\n", + $players->{$_}->{name}, join(", ", @{$players->{$_}->{coins}}) ); + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 150e4c8cad..940e80cb0d 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,101 +1,82 @@ { - "title" : { - "text" : "Perl Weekly Challenge - 052" - }, - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "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" - }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "format" : "{point.y}", + "enabled" : 1 + } } }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 8] Last updated at 2020-03-16 20:44:17 GMT" + }, "series" : [ { + "name" : "Perl Weekly Challenge - 052", + "colorByPoint" : 1, "data" : [ { - "name" : "Dave Cross", "y" : 2, + "name" : "Dave Cross", "drilldown" : "Dave Cross" }, { - "drilldown" : "Dave Jacoby", + "y" : 1, "name" : "Dave Jacoby", - "y" : 1 + "drilldown" : "Dave Jacoby" }, { - "name" : "Luca Ferrari", "y" : 4, - "drilldown" : "Luca Ferrari" + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { "drilldown" : "Mohammad S Anwar", - "y" : 1, - "name" : "Mohammad S Anwar" + "name" : "Mohammad S Anwar", + "y" : 2 }, { + "name" : "Roger Bell West", "drilldown" : "Roger Bell West", - "y" : 4, - "name" : "Roger Bell West" + "y" : 4 }, { + "y" : 1, "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 1 + "name" : "Simon Proctor" }, { + "name" : "Wanderdoc", "drilldown" : "Wanderdoc", - "y" : 2, - "name" : "Wanderdoc" + "y" : 2 }, { - "drilldown" : "Yet Ebreo", "name" : "Yet Ebreo", + "drilldown" : "Yet Ebreo", "y" : 1 } - ], - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 052" + ] } ], - "subtitle" : { - "text" : "[Champions: 8] Last updated at 2020-03-16 19:35:32 GMT" - }, - "legend" : { - "enabled" : 0 - }, "drilldown" : { "series" : [ { + "id" : "Dave Cross", "name" : "Dave Cross", "data" : [ [ "Perl", 2 ] - ], - "id" : "Dave Cross" + ] }, { - "id" : "Dave Jacoby", "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -105,6 +86,7 @@ }, { "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -114,18 +96,17 @@ "Blog", 2 ] - ], - "id" : "Luca Ferrari" + ] }, { "data" : [ [ "Perl", - 1 + 2 ] ], - "name" : "Mohammad S Anwar", - "id" : "Mohammad S Anwar" + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { "data" : [ @@ -142,24 +123,24 @@ "id" : "Roger Bell West" }, { - "id" : "Simon Proctor", "data" : [ [ "Raku", 1 ] ], + "id" : "Simon Proctor", "name" : "Simon Proctor" }, { "id" : "Wanderdoc", + "name" : "Wanderdoc", "data" : [ [ "Perl", 2 ] - ], - "name" : "Wanderdoc" + ] }, { "id" : "Yet Ebreo", @@ -172,5 +153,24 @@ ] } ] + }, + "xAxis" : { + "type" : "category" + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "Perl Weekly Challenge - 052" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "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 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index dffa0a445a..d5d962f05f 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,17 +1,21 @@ { + "subtitle" : { + "text" : "Last updated at 2020-03-16 20:44:17 GMT" + }, "series" : [ { + "name" : "Contributions", "dataLabels" : { + "align" : "right", + "rotation" : -90, + "color" : "#FFFFFF", "y" : 10, "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "enabled" : "true", - "align" : "right", - "color" : "#FFFFFF", - "rotation" : -90, - "format" : "{point.y:.0f}" + "format" : "{point.y:.0f}", + "enabled" : "true" }, "data" : [ [ @@ -20,44 +24,40 @@ ], [ "Perl", - 2169 + 2170 ], [ "Raku", 1326 ] - ], - "name" : "Contributions" + ] } ], - "subtitle" : { - "text" : "Last updated at 2020-03-16 19:35:32 GMT" - }, - "legend" : { - "enabled" : "false" - }, "xAxis" : { - "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - } + }, + "type" : "category" }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, + "chart" : { + "type" : "column" + }, "yAxis" : { "title" : { "text" : null }, "min" : 0 }, - "chart" : { - "type" : "column" - }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 005931cde4..d1f51ade0b 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,12 +1,28 @@ { - "legend" : { - "enabled" : "false" + "tooltip" : { + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "chart" : { + "type" : "column" }, "drilldown" : { "series" : [ { - "id" : "001", "name" : "001", + "id" : "001", "data" : [ [ "Perl", @@ -23,7 +39,6 @@ ] }, { - "id" : "002", "data" : [ [ "Perl", @@ -38,10 +53,10 @@ 10 ] ], + "id" : "002", "name" : "002" }, { - "id" : "003", "data" : [ [ "Perl", @@ -56,9 +71,12 @@ 9 ] ], + "id" : "003", "name" : "003" }, { + "name" : "004", + "id" : "004", "data" : [ [ "Perl", @@ -72,11 +90,11 @@ "Blog", 10 ] - ], - "name" : "004", - "id" : "004" + ] }, { + "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -90,12 +108,11 @@ "Blog", 12 ] - ], - "name" : "005", - "id" : "005" + ] }, { "name" : "006", + "id" : "006", "data" : [ [ "Perl", @@ -109,12 +126,11 @@ "Blog", 7 ] - ], - "id" : "006" + ] }, { - "id" : "007", "name" : "007", + "id" : "007", "data" : [ [ "Perl", @@ -131,8 +147,6 @@ ] }, { - "id" : "008", - "name" : "008", "data" : [ [ "Perl", @@ -146,10 +160,11 @@ "Blog", 12 ] - ] + ], + "id" : "008", + "name" : "008" }, { - "name" : "009", "data" : [ [ "Perl", @@ -164,9 +179,11 @@ 13 ] ], - "id" : "009" + "id" : "009", + "name" : "009" }, { + "name" : "010", "id" : "010", "data" : [ [ @@ -181,8 +198,7 @@ "Blog", 11 ] - ], - "name" : "010" + ] }, { "data" : [ @@ -199,11 +215,10 @@ 10 ] ], - "name" : "011", - "id" : "011" + "id" : "011", + "name" : "011" }, { - "id" : "012", "data" : [ [ "Perl", @@ -218,10 +233,12 @@ 11 ] ], - "name" : "012" + "name" : "012", + "id" : "012" }, { "id" : "013", + "name" : "013", "data" : [ [ "Perl", @@ -235,8 +252,7 @@ "Blog", 13 ] - ], - "name" : "013" + ] }, { "data" : [ @@ -257,6 +273,7 @@ "id" : "014" }, { + "name" : "015", "id" : "015", "data" : [ [ @@ -271,12 +288,9 @@ "Blog", 15 ] - ], - "name" : "015" + ] }, { - "id" : "016", - "name" : "016", "data" : [ [ "Perl", @@ -290,9 +304,13 @@ "Blog", 12 ] - ] + ], + "name" : "016", + "id" : "016" }, { + "id" : "017", + "name" : "017", "data" : [ [ "Perl", @@ -306,13 +324,11 @@ "Blog", 12 ] - ], - "name" : "017", - "id" : "017" + ] }, { - "id" : "018", "name" : "018", + "id" : "018", "data" : [ [ "Perl", @@ -329,7 +345,6 @@ ] }, { - "name" : "019", "data" : [ [ "Perl", @@ -344,10 +359,10 @@ 13 ] ], + "name" : "019", "id" : "019" }, { - "name" : "020", "data" : [ [ "Perl", @@ -362,10 +377,10 @@ 13 ] ], - "id" : "020" + "id" : "020", + "name" : "020" }, { - "name" : "021", "data" : [ [ "Perl", @@ -380,11 +395,10 @@ 10 ] ], + "name" : "021", "id" : "021" }, { - "id" : "022", - "name" : "022", "data" : [ [ "Perl", @@ -398,9 +412,13 @@ "Blog", 10 ] - ] + ], + "name" : "022", + "id" : "022" }, { + "name" : "023", + "id" : "023", "data" : [ [ "Perl", @@ -414,12 +432,9 @@ "Blog", 12 ] - ], - "name" : "023", - "id" : "023" + ] }, { - "name" : "024", "data" : [ [ "Perl", @@ -434,11 +449,12 @@ 11 ] ], + "name" : "024", "id" : "024" }, { - "id" : "025", "name" : "025", + "id" : "025", "data" : [ [ "Perl", @@ -455,7 +471,6 @@ ] }, { - "name" : "026", "data" : [ [ "Perl", @@ -470,6 +485,7 @@ 10 ] ], + "name" : "026", "id" : "026" }, { @@ -510,6 +526,7 @@ }, { "id" : "029", + "name" : "029", "data" : [ [ "Perl", @@ -523,12 +540,9 @@ "Blog", 12 ] - ], - "name" : "029" + ] }, { - "id" : "030", - "name" : "030", "data" : [ [ "Perl", @@ -542,11 +556,13 @@ "Blog", 10 ] - ] + ], + "id" : "030", + "name" : "030" }, { - "id" : "031", "name" : "031", + "id" : "031", "data" : [ [ "Perl", @@ -563,6 +579,8 @@ ] }, { + "id" : "032", + "name" : "032", "data" : [ [ "Perl", @@ -576,9 +594,7 @@ "Blog", 10 ] - ], - "name" : "032", - "id" : "032" + ] }, { "data" : [ @@ -613,12 +629,10 @@ 11 ] ], - "name" : "034", - "id" : "034" + "id" : "034", + "name" : "034" }, { - "id" : "035", - "name" : "035", "data" : [ [ "Perl", @@ -632,7 +646,9 @@ "Blog", 9 ] - ] + ], + "id" : "035", + "name" : "035" }, { "id" : "036", @@ -653,8 +669,6 @@ ] }, { - "id" : "037", - "name" : "037", "data" : [ [ "Perl", @@ -668,10 +682,13 @@ "Blog", 9 ] - ] + ], + "name" : "037", + "id" : "037" }, { "id" : "038", + "name" : "038", "data" : [ [ "Perl", @@ -685,11 +702,9 @@ "Blog", 12 ] - ], - "name" : "038" + ] }, { - "id" : "039", "data" : [ [ "Perl", @@ -704,10 +719,10 @@ 12 ] ], - "name" : "039" + "name" : "039", + "id" : "039" }, { - "id" : "040", "data" : [ [ "Perl", @@ -722,11 +737,10 @@ 9 ] ], + "id" : "040", "name" : "040" }, { - "id" : "041", - "name" : "041", "data" : [ [ "Perl", @@ -740,11 +754,11 @@ "Blog", 8 ] - ] + ], + "id" : "041", + "name" : "041" }, { - "id" : "042", - "name" : "042", "data" : [ [ "Perl", @@ -758,9 +772,13 @@ "Blog", 11 ] - ] + ], + "name" : "042", + "id" : "042" }, { + "name" : "043", + "id" : "043", "data" : [ [ "Perl", @@ -774,12 +792,11 @@ "Blog", 10 ] - ], - "name" : "043", - "id" : "043" + ] }, { "id" : "044", + "name" : "044", "data" : [ [ "Perl", @@ -793,10 +810,10 @@ "Blog", 10 ] - ], - "name" : "044" + ] }, { + "id" : "045", "name" : "045", "data" : [ [ @@ -811,10 +828,11 @@ "Blog", 11 ] - ], - "id" : "045" + ] }, { + "id" : "046", + "name" : "046", "data" : [ [ "Perl", @@ -828,12 +846,9 @@ "Blog", 10 ] - ], - "name" : "046", - "id" : "046" + ] }, { - "id" : "047", "data" : [ [ "Perl", @@ -848,11 +863,12 @@ 10 ] ], - "name" : "047" + "name" : "047", + "id" : "047" }, { - "id" : "048", "name" : "048", + "id" : "048", "data" : [ [ "Perl", @@ -869,7 +885,6 @@ ] }, { - "id" : "049", "data" : [ [ "Perl", @@ -884,11 +899,12 @@ 11 ] ], - "name" : "049" + "name" : "049", + "id" : "049" }, { - "id" : "050", "name" : "050", + "id" : "050", "data" : [ [ "Perl", @@ -905,6 +921,8 @@ ] }, { + "id" : "051", + "name" : "051", "data" : [ [ "Perl", @@ -918,15 +936,13 @@ "Blog", 10 ] - ], - "name" : "051", - "id" : "051" + ] }, { "data" : [ [ "Perl", - 9 + 10 ], [ "Raku", @@ -942,23 +958,19 @@ } ] }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-03-16 19:35:32 GMT" - }, "series" : [ { - "colorByPoint" : "true", "name" : "Perl Weekly Challenge Languages", "data" : [ { - "drilldown" : "001", "y" : 140, + "drilldown" : "001", "name" : "#001" }, { + "drilldown" : "002", "name" : "#002", - "y" : 109, - "drilldown" : "002" + "y" : 109 }, { "drilldown" : "003", @@ -966,39 +978,39 @@ "y" : 71 }, { + "y" : 91, "drilldown" : "004", - "name" : "#004", - "y" : 91 + "name" : "#004" }, { - "drilldown" : "005", "y" : 71, + "drilldown" : "005", "name" : "#005" }, { - "y" : 52, + "drilldown" : "006", "name" : "#006", - "drilldown" : "006" + "y" : 52 }, { - "name" : "#007", "y" : 58, + "name" : "#007", "drilldown" : "007" }, { - "y" : 70, "name" : "#008", - "drilldown" : "008" + "drilldown" : "008", + "y" : 70 }, { + "name" : "#009", "drilldown" : "009", - "y" : 68, - "name" : "#009" + "y" : 68 }, { - "name" : "#010", "y" : 60, - "drilldown" : "010" + "drilldown" : "010", + "name" : "#010" }, { "y" : 79, @@ -1006,98 +1018,98 @@ "drilldown" : "011" }, { - "y" : 83, + "drilldown" : "012", "name" : "#012", - "drilldown" : "012" + "y" : 83 }, { - "drilldown" : "013", "y" : 76, - "name" : "#013" + "name" : "#013", + "drilldown" : "013" }, { - "drilldown" : "014", "name" : "#014", + "drilldown" : "014", "y" : 96 }, { "name" : "#015", - "y" : 93, - "drilldown" : "015" + "drilldown" : "015", + "y" : 93 }, { "drilldown" : "016", - "y" : 66, - "name" : "#016" + "name" : "#016", + "y" : 66 }, { - "drilldown" : "017", "y" : 79, + "drilldown" : "017", "name" : "#017" }, { + "name" : "#018", "drilldown" : "018", - "y" : 76, - "name" : "#018" + "y" : 76 }, { - "drilldown" : "019", + "y" : 97, "name" : "#019", - "y" : 97 + "drilldown" : "019" }, { - "y" : 95, "name" : "#020", - |
