aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-11-03 14:26:45 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-11-03 14:26:45 +0000
commitb9f5bb88a4dc66e00946af30e95d9c189cdb954f (patch)
treea2ab15eae82ee11130d41c296c8048733f349231
parent56af77973a0661afd96671e07fa2859448b5ce64 (diff)
downloadperlweeklychallenge-club-b9f5bb88a4dc66e00946af30e95d9c189cdb954f.tar.gz
perlweeklychallenge-club-b9f5bb88a4dc66e00946af30e95d9c189cdb954f.tar.bz2
perlweeklychallenge-club-b9f5bb88a4dc66e00946af30e95d9c189cdb954f.zip
- Added solutions by Adam Russell.
-rw-r--r--challenge-032/adam-russell/perl6/ch-1.p616
-rw-r--r--challenge-032/adam-russell/perl6/ch-2.p619
-rw-r--r--stats/pwc-current.json211
-rw-r--r--stats/pwc-language-breakdown-summary.json82
-rw-r--r--stats/pwc-language-breakdown.json472
-rw-r--r--stats/pwc-leaders.json510
-rw-r--r--stats/pwc-summary-1-30.json98
-rw-r--r--stats/pwc-summary-121-150.json70
-rw-r--r--stats/pwc-summary-31-60.json48
-rw-r--r--stats/pwc-summary-61-90.json44
-rw-r--r--stats/pwc-summary-91-120.json36
-rw-r--r--stats/pwc-summary.json312
12 files changed, 988 insertions, 930 deletions
diff --git a/challenge-032/adam-russell/perl6/ch-1.p6 b/challenge-032/adam-russell/perl6/ch-1.p6
new file mode 100644
index 0000000000..e69661271c
--- /dev/null
+++ b/challenge-032/adam-russell/perl6/ch-1.p6
@@ -0,0 +1,16 @@
+##
+# Create a script that either reads standard input
+# or one or more files specified on the command-line.
+# Count the number of times and then print a summary,
+# sorted by the count of each entry.
+##
+sub MAIN{
+ my %word_counts;
+ for $*IN.lines -> $line {
+ $line.chomp;
+ %word_counts{$line}+=1;
+ }
+ for %word_counts.sort(*.value).reverse -> $pair {
+ say $pair.key ~ "\t" ~ $pair.value;
+ }
+}
diff --git a/challenge-032/adam-russell/perl6/ch-2.p6 b/challenge-032/adam-russell/perl6/ch-2.p6
new file mode 100644
index 0000000000..6c7c17bcfc
--- /dev/null
+++ b/challenge-032/adam-russell/perl6/ch-2.p6
@@ -0,0 +1,19 @@
+use JSON::Fast;
+##
+# Write a function that takes a hashref where the keys
+# are labels and the values are integer or floating
+# point values. Generate a bar graph of the data and
+# display it to stdout.
+##
+sub term:<MAX-LENGTH> { 10 };
+
+sub MAIN($input) {
+ my %data = from-json $input;
+ my @sorted = %data.sort(*.value);
+ my $min = @sorted[0].value;
+ my $max = @sorted[@sorted.end].value;
+ for %data.sort(*.value).reverse -> $pair {
+ print $pair.key ~ "\t| ";
+ say "#" x ($pair.value - $min + 1) / ($max - $min) * MAX-LENGTH;
+ }
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index e492aa7f0f..09149adc4d 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,22 +1,43 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
+ "title" : {
+ "text" : "Perl Weekly Challenge - 032"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 24] Last updated at 2019-11-03 14:25:22 GMT"
},
"drilldown" : {
"series" : [
{
+ "id" : "Adam Russell",
+ "name" : "Adam Russell",
+ "data" : [
+ [
+ "Perl 5",
+ 2
+ ],
+ [
+ "Perl 6",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ]
+ },
+ {
"data" : [
[
"Perl 5",
2
]
],
- "name" : "Andrezgz",
- "id" : "Andrezgz"
+ "id" : "Andrezgz",
+ "name" : "Andrezgz"
},
{
+ "name" : "Arne Sommer",
+ "id" : "Arne Sommer",
"data" : [
[
"Perl 6",
@@ -26,29 +47,27 @@
"Blog",
1
]
- ],
- "name" : "Arne Sommer",
- "id" : "Arne Sommer"
+ ]
},
{
+ "name" : "Dave Cross",
+ "id" : "Dave Cross",
"data" : [
[
"Perl 5",
2
]
- ],
- "name" : "Dave Cross",
- "id" : "Dave Cross"
+ ]
},
{
"name" : "Dave Jacoby",
+ "id" : "Dave Jacoby",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Dave Jacoby"
+ ]
},
{
"id" : "Duane Powell",
@@ -71,16 +90,18 @@
]
},
{
- "id" : "Fabrizio Poggi",
- "name" : "Fabrizio Poggi",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Fabrizio Poggi",
+ "name" : "Fabrizio Poggi"
},
{
+ "id" : "Javier Luque",
+ "name" : "Javier Luque",
"data" : [
[
"Perl 5",
@@ -94,13 +115,9 @@
"Blog",
1
]
- ],
- "name" : "Javier Luque",
- "id" : "Javier Luque"
+ ]
},
{
- "id" : "Joelle Maslak",
- "name" : "Joelle Maslak",
"data" : [
[
"Perl 5",
@@ -110,27 +127,29 @@
"Perl 6",
2
]
- ]
+ ],
+ "id" : "Joelle Maslak",
+ "name" : "Joelle Maslak"
},
{
+ "name" : "Kevin Colyer",
"id" : "Kevin Colyer",
"data" : [
[
"Perl 6",
2
]
- ],
- "name" : "Kevin Colyer"
+ ]
},
{
+ "id" : "Lars Balker",
+ "name" : "Lars Balker",
"data" : [
[
"Perl 5",
2
]
- ],
- "name" : "Lars Balker",
- "id" : "Lars Balker"
+ ]
},
{
"id" : "Lars Thegler",
@@ -143,6 +162,8 @@
]
},
{
+ "id" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl 5",
@@ -156,39 +177,37 @@
"Blog",
1
]
- ],
- "name" : "Laurent Rosenfeld",
- "id" : "Laurent Rosenfeld"
+ ]
},
{
+ "id" : "Markus Holzer",
"name" : "Markus Holzer",
"data" : [
[
"Perl 6",
2
]
- ],
- "id" : "Markus Holzer"
+ ]
},
{
- "id" : "Nazareno Delucca",
"data" : [
[
"Perl 5",
2
]
],
- "name" : "Nazareno Delucca"
+ "name" : "Nazareno Delucca",
+ "id" : "Nazareno Delucca"
},
{
+ "id" : "Prajith P",
"name" : "Prajith P",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Prajith P"
+ ]
},
{
"data" : [
@@ -201,8 +220,8 @@
"id" : "Rage311"
},
{
- "id" : "Roger Bell West",
"name" : "Roger Bell West",
+ "id" : "Roger Bell West",
"data" : [
[
"Perl 5",
@@ -226,27 +245,27 @@
},
{
"name" : "Simon Proctor",
+ "id" : "Simon Proctor",
"data" : [
[
"Perl 6",
2
]
- ],
- "id" : "Simon Proctor"
+ ]
},
{
- "id" : "Steven Wilson",
- "name" : "Steven Wilson",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Steven Wilson",
+ "name" : "Steven Wilson"
},
{
- "id" : "Ulrich Rieke",
"name" : "Ulrich Rieke",
+ "id" : "Ulrich Rieke",
"data" : [
[
"Perl 5",
@@ -255,31 +274,32 @@
]
},
{
+ "id" : "Yet Ebreo",
"name" : "Yet Ebreo",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Yet Ebreo"
+ ]
}
]
},
- "xAxis" : {
- "type" : "category"
- },
"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/>",
- "followPointer" : 1
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
},
"series" : [
{
- "colorByPoint" : 1,
"name" : "Perl Weekly Challenge - 032",
"data" : [
{
+ "drilldown" : "Adam Russell",
+ "name" : "Adam Russell",
+ "y" : 5
+ },
+ {
"name" : "Andrezgz",
"y" : 2,
"drilldown" : "Andrezgz"
@@ -291,13 +311,13 @@
},
{
"drilldown" : "Dave Cross",
- "y" : 2,
- "name" : "Dave Cross"
+ "name" : "Dave Cross",
+ "y" : 2
},
{
- "drilldown" : "Dave Jacoby",
"y" : 2,
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "drilldown" : "Dave Jacoby"
},
{
"drilldown" : "Duane Powell",
@@ -305,19 +325,19 @@
"name" : "Duane Powell"
},
{
- "name" : "E. Choroba",
+ "drilldown" : "E. Choroba",
"y" : 2,
- "drilldown" : "E. Choroba"
+ "name" : "E. Choroba"
},
{
- "name" : "Fabrizio Poggi",
+ "drilldown" : "Fabrizio Poggi",
"y" : 2,
- "drilldown" : "Fabrizio Poggi"
+ "name" : "Fabrizio Poggi"
},
{
- "drilldown" : "Javier Luque",
"y" : 5,
- "name" : "Javier Luque"
+ "name" : "Javier Luque",
+ "drilldown" : "Javier Luque"
},
{
"drilldown" : "Joelle Maslak",
@@ -330,73 +350,85 @@
"drilldown" : "Kevin Colyer"
},
{
+ "drilldown" : "Lars Balker",
"name" : "Lars Balker",
- "y" : 2,
- "drilldown" : "Lars Balker"
+ "y" : 2
},
{
- "y" : 2,
"name" : "Lars Thegler",
+ "y" : 2,
"drilldown" : "Lars Thegler"
},
{
- "drilldown" : "Laurent Rosenfeld",
"y" : 5,
- "name" : "Laurent Rosenfeld"
+ "name" : "Laurent Rosenfeld",
+ "drilldown" : "Laurent Rosenfeld"
},
{
- "y" : 2,
+ "drilldown" : "Markus Holzer",
"name" : "Markus Holzer",
- "drilldown" : "Markus Holzer"
+ "y" : 2
},
{
"drilldown" : "Nazareno Delucca",
- "y" : 2,
- "name" : "Nazareno Delucca"
+ "name" : "Nazareno Delucca",
+ "y" : 2
},
{
- "drilldown" : "Prajith P",
+ "y" : 2,
"name" : "Prajith P",
- "y" : 2
+ "drilldown" : "Prajith P"
},
{
- "drilldown" : "Rage311",
+ "y" : 2,
"name" : "Rage311",
- "y" : 2
+ "drilldown" : "Rage311"
},
{
- "y" : 2,
+ "drilldown" : "Roger Bell West",
"name" : "Roger Bell West",
- "drilldown" : "Roger Bell West"
+ "y" : 2
},
{
+ "drilldown" : "Ryan Thompson",
"name" : "Ryan Thompson",
- "y" : 3,
- "drilldown" : "Ryan Thompson"
+ "y" : 3
},
{
- "name" : "Simon Proctor",
+ "drilldown" : "Simon Proctor",
"y" : 2,
- "drilldown" : "Simon Proctor"
+ "name" : "Simon Proctor"
},
{
- "name" : "Steven Wilson",
"y" : 2,
+ "name" : "Steven Wilson",
"drilldown" : "Steven Wilson"
},
{
- "drilldown" : "Ulrich Rieke",
"name" : "Ulrich Rieke",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "Ulrich Rieke"
},
{
"drilldown" : "Yet Ebreo",
"y" : 2,
"name" : "Yet Ebreo"
}
- ]
+ ],
+ "colorByPoint" : 1
}
],
+ "legend" : {
+ "enabled" : 0
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
"plotOptions" : {
"series" : {
"dataLabels" : {
@@ -408,14 +440,5 @@
},
"chart" : {
"type" : "column"
- },
- "subtitle" : {
- "text" : "[Champions: 23] Last updated at 2019-11-03 01:58:06 GMT"
- },
- "legend" : {
- "enabled" : 0
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 032"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index f8e0bbbc04..41f7976fd5 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,49 +1,12 @@
{
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "series" : [
- {
- "data" : [
- [
- "Blog",
- 341
- ],
- [
- "Perl 5",
- 1343
- ],
- [
- "Perl 6",
- 793
- ]
- ],
- "name" : "Contributions",
- "dataLabels" : {
- "enabled" : "true",
- "align" : "right",
- "rotation" : -90,
- "format" : "{point.y:.0f}",
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
- "color" : "#FFFFFF",
- "y" : 10
- }
- }
- ],
- "legend" : {
- "enabled" : "false"
- },
"xAxis" : {
- "type" : "category",
"labels" : {
"style" : {
"fontFamily" : "Verdana, sans-serif",
"fontSize" : "13px"
}
- }
+ },
+ "type" : "category"
},
"yAxis" : {
"min" : 0,
@@ -51,11 +14,48 @@
"text" : null
}
},
+ "legend" : {
+ "enabled" : "false"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2019-11-03 14:26:40 GMT"
+ },
"chart" : {
"type" : "column"
},
- "subtitle" : {
- "text" : "Last updated at 2019-11-03 01:58:34 GMT"
+ "series" : [
+ {
+ "dataLabels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ },
+ "align" : "right",
+ "enabled" : "true",
+ "rotation" : -90,
+ "y" : 10,
+ "color" : "#FFFFFF",
+ "format" : "{point.y:.0f}"
+ },
+ "name" : "Contributions",
+ "data" : [
+ [
+ "Blog",
+ 342
+ ],
+ [
+ "Perl 5",
+ 1345
+ ],
+ [
+ "Perl 6",
+ 795
+ ]
+ ]
+ }
+ ],
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
},
"title" : {
"text" : "Perl Weekly Challenge Contributions - 2019"
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index d386ce6222..a15d85cd66 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,205 +1,23 @@
{
"plotOptions" : {
"series" : {
+ "borderWidth" : 0,
"dataLabels" : {
"format" : "{point.y}",
"enabled" : 1
- },
- "borderWidth" : 0
+ }
}
},
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-11-03 01:58:34 GMT"
- },
"title" : {
"text" : "Perl Weekly Challenge Language"
},
- "chart" : {
- "type" : "column"
- },
- "legend" : {
- "enabled" : "false"
- },
- "xAxis" : {
- "type" : "category"
- },
- "series" : [
- {
- "data" : [
- {
- "y" : 132,
- "drilldown" : "001",
- "name" : "#001"
- },
- {
- "name" : "#002",
- "y" : 104,
- "drilldown" : "002"
- },
- {
- "name" : "#003",
- "drilldown" : "003",
- "y" : 67
- },
- {
- "drilldown" : "004",
- "y" : 86,
- "name" : "#004"
- },
- {
- "name" : "#005",
- "drilldown" : "005",
- "y" : 66
- },
- {
- "name" : "#006",
- "y" : 48,
- "drilldown" : "006"
- },
- {
- "y" : 56,
- "drilldown" : "007",
- "name" : "#007"
- },
- {
- "drilldown" : "008",
- "y" : 70,
- "name" : "#008"
- },
- {
- "y" : 68,
- "drilldown" : "009",
- "name" : "#009"
- },
- {
- "y" : 60,
- "drilldown" : "010",
- "name" : "#010"
- },
- {
- "name" : "#011",
- "drilldown" : "011",
- "y" : 78
- },
- {
- "y" : 83,
- "drilldown" : "012",
- "name" : "#012"
- },
- {
- "name" : "#013",
- "drilldown" : "013",
- "y" : 76
- },
- {
- "name" : "#014",
- "y" : 96,
- "drilldown" : "014"
- },
- {
- "drilldown" : "015",
- "y" : 93,
- "name" : "#015"
- },
- {
- "drilldown" : "016",
- "y" : 66,
- "name" : "#016"
- },
- {
- "drilldown" : "017",
- "y" : 79,
- "name" : "#017"
- },
- {
- "drilldown" : "018",
- "y" : 76,
- "name" : "#018"
- },
- {
- "y" : 95,
- "drilldown" : "019",
- "name" : "#019"
- },
- {
- "drilldown" : "020",
- "y" : 95,
- "name" : "#020"
- },
- {
- "y" : 67,
- "drilldown" : "021",
- "name" : "#021"
- },
- {
- "name" : "#022",
- "y" : 63,
- "drilldown" : "022"
- },
- {
- "y" : 91,
- "drilldown" : "023",
- "name" : "#023"
- },
- {
- "y" : 70,
- "drilldown" : "024",
- "name" : "#024"
- },
- {
- "name" : "#025",
- "drilldown" : "025",
- "y" : 55
- },
- {
- "name" : "#026",
- "drilldown" : "026",
- "y" : 70
- },
- {
- "drilldown" : "027",
- "y" : 58,
- "name" : "#027"
- },
- {
- "name" : "#028",
- "drilldown" : "028",
- "y" : 78
- },
- {
- "y" : 76,
- "drilldown" : "029",
- "name" : "#029"
- },
- {
- "drilldown" : "030",
- "y" : 114,
- "name" : "#030"
- },
- {
- "name" : "#031",
- "y" : 84,
- "drilldown" : "031"
- },
- {
- "name" : "#032",
- "y" : 57,
- "drilldown" : "032"
- }
- ],
- "colorByPoint" : "true",
- "name" : "Perl Weekly Challenge Languages"
- }
- ],
- "tooltip" : {
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true"
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-11-03 14:26:40 GMT"
},
"drilldown" : {
"series" : [
{
- "id" : "001",
+ "name" : "001",
"data" : [
[
"Perl 5",
@@ -214,9 +32,10 @@
11
]
],
- "name" : "001"
+ "id" : "001"
},
{
+ "name" : "002",
"data" : [
[
"Perl 5",
@@ -231,7 +50,6 @@
9
]
],
- "name" : "002",
"id" : "002"
},
{
@@ -253,7 +71,6 @@
"id" : "003"
},
{
- "id" : "004",
"name" : "004",
"data" : [
[
@@ -268,10 +85,10 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "004"
},
{
- "name" : "005",
"data" : [
[
"Perl 5",
@@ -286,6 +103,7 @@
11
]
],
+ "name" : "005",
"id" : "005"
},
{
@@ -307,7 +125,7 @@
"id" : "006"
},
{
- "id" : "007",
+ "name" : "007",
"data" : [
[
"Perl 5",
@@ -322,10 +140,9 @@
10
]
],
- "name" : "007"
+ "id" : "007"
},
{
- "id" : "008",
"name" : "008",
"data" : [
[
@@ -340,9 +157,11 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "008"
},
{
+ "id" : "009",
"name" : "009",
"data" : [
[
@@ -357,8 +176,7 @@
"Blog",
13
]
- ],
- "id" : "009"
+ ]
},
{
"id" : "010",
@@ -379,6 +197,7 @@
"name" : "010"
},
{
+ "name" : "011",
"data" : [
[
"Perl 5",
@@ -393,11 +212,10 @@
9
]
],
- "name" : "011",
"id" : "011"
},
{
- "name" : "012",
+ "id" : "012",
"data" : [
[
"Perl 5",
@@ -412,10 +230,9 @@
11
]
],
- "id" : "012"
+ "name" : "012"
},
{
- "id" : "013",
"name" : "013",
"data" : [
[
@@ -430,9 +247,12 @@
"Blog",
13
]
- ]
+ ],
+ "id" : "013"
},
{
+ "id" : "014",
+ "name" : "014",
"data" : [
[
"Perl 5",
@@ -446,11 +266,10 @@
"Blog",
15
]
- ],
- "name" : "014",
- "id" : "014"
+ ]
},
{
+ "id" : "015",
"data" : [
[
"Perl 5",
@@ -465,11 +284,9 @@
15
]
],
- "name" : "015",
- "id" : "015"
+ "name" : "015"
},
{
- "name" : "016",
"data" : [
[
"Perl 5",
@@ -484,11 +301,10 @@
12
]
],
+ "name" : "016",
"id" : "016"
},
{
- "id" : "017",
- "name" : "017",
"data" : [
[
"Perl 5",
@@ -502,7 +318,9 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "017",
+ "id" : "017"
},
{
"id" : "018",
@@ -541,7 +359,7 @@
"id" : "019"
},
{
- "name" : "020",
+ "id" : "020",
"data" : [
[
"Perl 5",
@@ -556,9 +374,10 @@
13
]
],
- "id" : "020"
+ "name" : "020"
},
{
+ "name" : "021",
"data" : [
[
"Perl 5",
@@ -573,11 +392,10 @@
10
]
],
- "name" : "021",
"id" : "021"
},
{
- "id" : "022",
+ "name" : "022",
"data" : [
[
"Perl 5",
@@ -592,10 +410,11 @@
10
]
],
- "name" : "022"
+ "id" : "022"
},
{
"id" : "023",
+ "name" : "023",
"data" : [
[
"Perl 5",
@@ -609,10 +428,11 @@
"Blog",
12
]
- ],
- "name" : "023"
+ ]
},
{
+ "id" : "024",
+ "name" : "024",
"data" : [
[
"Perl 5",
@@ -626,9 +446,7 @@
"Blog",
11
]
- ],
- "name" : "024",
- "id" : "024"
+ ]
},
{
"id" : "025",
@@ -649,6 +467,7 @@
]
},
{
+ "id" : "026",
"name" : "026",
"data" : [
[
@@ -663,12 +482,10 @@
"Blog",
10
]
- ],
- "id" : "026"
+ ]
},
{
"id" : "027",
- "name" : "027",
"data" : [
[
"Perl 5",
@@ -682,11 +499,10 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "027"
},