aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-16 17:18:50 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-03-16 17:18:50 +0000
commit388e2c7190fd7a065486b65f203531c0c31fd5e6 (patch)
tree6caff57820f378463aee2e9720445d10beb531d8
parent4cf785fea31c1b14b9f131e614f4db90fda9a8bf (diff)
downloadperlweeklychallenge-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.pl42
-rw-r--r--challenge-052/wanderdoc/perl/ch-2.pl52
-rw-r--r--stats/pwc-current.json123
-rw-r--r--stats/pwc-language-breakdown-summary.json66
-rw-r--r--stats/pwc-language-breakdown.json426
-rw-r--r--stats/pwc-leaders.json740
-rw-r--r--stats/pwc-summary-1-30.json40
-rw-r--r--stats/pwc-summary-121-150.json44
-rw-r--r--stats/pwc-summary-151-180.json42
-rw-r--r--stats/pwc-summary-31-60.json42
-rw-r--r--stats/pwc-summary-61-90.json52
-rw-r--r--stats/pwc-summary-91-120.json104
-rw-r--r--stats/pwc-summary.json346
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"