aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-16 20:45:02 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-16 20:45:02 +0000
commit77a796b73be1dcbba5543bbbc6acad2c923b06ff (patch)
tree7fcfaf6b8c14fdf887438e7d8b13c6a148ad1607
parent27a4353559838cbdd2fbf79c7ab02c7a2e810d8d (diff)
downloadperlweeklychallenge-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.pl65
-rw-r--r--stats/pwc-current.json114
-rw-r--r--stats/pwc-language-breakdown-summary.json38
-rw-r--r--stats/pwc-language-breakdown.json412
-rw-r--r--stats/pwc-leaders.json762
-rw-r--r--stats/pwc-summary-1-30.json42
-rw-r--r--stats/pwc-summary-121-150.json32
-rw-r--r--stats/pwc-summary-151-180.json42
-rw-r--r--stats/pwc-summary-31-60.json116
-rw-r--r--stats/pwc-summary-61-90.json42
-rw-r--r--stats/pwc-summary-91-120.json98
-rw-r--r--stats/pwc-summary.json348
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",
-