aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-30 11:17:57 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-30 11:17:57 +0100
commitaab273335bc065444359cf9765b2475d9501564c (patch)
tree416e2a178fdaae89ccb99e20e60288390ed8a433
parent76082e2c9541e35bbecfae0c693d439de8fb39fc (diff)
downloadperlweeklychallenge-club-aab273335bc065444359cf9765b2475d9501564c.tar.gz
perlweeklychallenge-club-aab273335bc065444359cf9765b2475d9501564c.tar.bz2
perlweeklychallenge-club-aab273335bc065444359cf9765b2475d9501564c.zip
- Added solutions by Donald Hunter.
-rw-r--r--challenge-067/donald-hunter/blog.txt1
-rw-r--r--challenge-067/donald-hunter/raku/ch-1.p616
-rw-r--r--challenge-067/donald-hunter/raku/ch-2.p618
-rw-r--r--stats/pwc-current.json223
-rw-r--r--stats/pwc-language-breakdown-summary.json48
-rw-r--r--stats/pwc-language-breakdown.json484
-rw-r--r--stats/pwc-leaders.json710
-rw-r--r--stats/pwc-summary-1-30.json116
-rw-r--r--stats/pwc-summary-121-150.json34
-rw-r--r--stats/pwc-summary-151-180.json80
-rw-r--r--stats/pwc-summary-31-60.json108
-rw-r--r--stats/pwc-summary-61-90.json104
-rw-r--r--stats/pwc-summary-91-120.json90
-rw-r--r--stats/pwc-summary.json44
14 files changed, 1065 insertions, 1011 deletions
diff --git a/challenge-067/donald-hunter/blog.txt b/challenge-067/donald-hunter/blog.txt
new file mode 100644
index 0000000000..3d09781878
--- /dev/null
+++ b/challenge-067/donald-hunter/blog.txt
@@ -0,0 +1 @@
+https://donaldh.wtf/2020/06/combinations/
diff --git a/challenge-067/donald-hunter/raku/ch-1.p6 b/challenge-067/donald-hunter/raku/ch-1.p6
new file mode 100644
index 0000000000..6f1e25d8d0
--- /dev/null
+++ b/challenge-067/donald-hunter/raku/ch-1.p6
@@ -0,0 +1,16 @@
+sub number-combinations($m, $n, :$width = 96) {
+ my @combinations =
+ (1..$m).combinations($n) # generate the combinations
+ .map({ "[{.join: ','}]" }); # format each combination
+
+ my $per-line = $width div @combinations.map({ .chars + 2 }).max;
+
+ ('[ ' ~
+ @combinations
+ .rotor($per-line, :partial) # split into n per line
+ .map({ .join(', ') }) # join items on same line
+ .join(",\n ") # join the lines
+ ~ ' ]').say
+}
+
+number-combinations(8, 3)
diff --git a/challenge-067/donald-hunter/raku/ch-2.p6 b/challenge-067/donald-hunter/raku/ch-2.p6
new file mode 100644
index 0000000000..30a49099dc
--- /dev/null
+++ b/challenge-067/donald-hunter/raku/ch-2.p6
@@ -0,0 +1,18 @@
+sub phone-combinations(Str $digits) {
+ my %keys =
+ 1 => < _ , @ >, 2 => < a b c >, 3 => < d e f >,
+ 4 => < g h i >, 5 => < j k l >, 6 => < m n o >,
+ 7 => < p q r s >, 8 => < t u v >, 9 => < w x y z >,
+ '*' => (' ',);
+
+ ('[' ~
+ (
+ [X~] %keys{ $digits.comb }
+ )
+ .map({ "\"{$_}\"" })
+ .rotor(10, :partial).map({ .join(', ') })
+ .join("\n ")
+ ~ ']').say
+}
+
+phone-combinations '417'
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 467998e1ee..97a12f4202 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,113 +1,51 @@
{
"plotOptions" : {
"series" : {
- "borderWidth" : 0,
"dataLabels" : {
"enabled" : 1,
"format" : "{point.y}"
- }
- }
- },
- "series" : [
- {
- "name" : "Perl Weekly Challenge - 067",
- "data" : [
- {
- "name" : "Andrew Shitov",
- "y" : 2,
- "drilldown" : "Andrew Shitov"
- },
- {
- "y" : 2,
- "name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby"
- },
- {
- "drilldown" : "Leo Manfredi",
- "y" : 1,
- "name" : "Leo Manfredi"
- },
- {
- "drilldown" : "Luca Ferrari",
- "y" : 4,
- "name" : "Luca Ferrari"
- },
- {
- "name" : "Mark Anderson",
- "y" : 2,
- "drilldown" : "Mark Anderson"
- },
- {
- "drilldown" : "Niels van Dijke",
- "name" : "Niels van Dijke",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Roger Bell_West",
- "drilldown" : "Roger Bell_West"
- },
- {
- "name" : "Simon Miner",
- "y" : 2,
- "drilldown" : "Simon Miner"
- },
- {
- "name" : "Simon Proctor",
- "y" : 2,
- "drilldown" : "Simon Proctor"
- },
- {
- "y" : 3,
- "name" : "Ulrich Rieke",
- "drilldown" : "Ulrich Rieke"
- },
- {
- "drilldown" : "Wanderdoc",
- "name" : "Wanderdoc",
- "y" : 2
- }
- ],
- "colorByPoint" : 1
+ },
+ "borderWidth" : 0
}
- ],
- "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/>"
- },
- "subtitle" : {
- "text" : "[Champions: 11] Last updated at 2020-06-30 09:54:12 GMT"
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 067"
},
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
+ "legend" : {
+ "enabled" : 0
},
"drilldown" : {
"series" : [
{
+ "name" : "Andrew Shitov",
+ "id" : "Andrew Shitov",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Andrew Shitov",
- "name" : "Andrew Shitov"
+ ]
},
{
"name" : "Dave Jacoby",
+ "id" : "Dave Jacoby",
"data" : [
[
"Perl",
2
]
+ ]
+ },
+ {
+ "data" : [
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
],
- "id" : "Dave Jacoby"
+ "id" : "Donald Hunter",
+ "name" : "Donald Hunter"
},
{
"id" : "Leo Manfredi",
@@ -120,8 +58,6 @@
"name" : "Leo Manfredi"
},
{
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -131,17 +67,19 @@
"Blog",
2
]
- ]
+ ],
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari"
},
{
- "name" : "Mark Anderson",
- "id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
"name" : "Niels van Dijke",
@@ -155,36 +93,36 @@
},
{
"name" : "Roger Bell_West",
- "id" : "Roger Bell_West",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Roger Bell_West"
},
{
- "name" : "Simon Miner",
"id" : "Simon Miner",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Simon Miner"
},
{
"name" : "Simon Proctor",
+ "id" : "Simon Proctor",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Simon Proctor"
+ ]
},
{
- "name" : "Ulrich Rieke",
+ "id" : "Ulrich Rieke",
"data" : [
[
"Perl",
@@ -195,27 +133,108 @@
2
]
],
- "id" : "Ulrich Rieke"
+ "name" : "Ulrich Rieke"
},
{
+ "id" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
],
- "id" : "Wanderdoc",
"name" : "Wanderdoc"
}
]
},
+ "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
+ },
"xAxis" : {
"type" : "category"
},
"chart" : {
"type" : "column"
},
- "legend" : {
- "enabled" : 0
- }
+ "subtitle" : {
+ "text" : "[Champions: 12] Last updated at 2020-06-30 10:17:33 GMT"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 067"
+ },
+ "series" : [
+ {
+ "data" : [
+ {
+ "drilldown" : "Andrew Shitov",
+ "name" : "Andrew Shitov",
+ "y" : 2
+ },
+ {
+ "name" : "Dave Jacoby",
+ "y" : 2,
+ "drilldown" : "Dave Jacoby"
+ },
+ {
+ "y" : 3,
+ "name" : "Donald Hunter",
+ "drilldown" : "Donald Hunter"
+ },
+ {
+ "drilldown" : "Leo Manfredi",
+ "y" : 1,
+ "name" : "Leo Manfredi"
+ },
+ {
+ "drilldown" : "Luca Ferrari",
+ "y" : 4,
+ "name" : "Luca Ferrari"
+ },
+ {
+ "drilldown" : "Mark Anderson",
+ "y" : 2,
+ "name" : "Mark Anderson"
+ },
+ {
+ "drilldown" : "Niels van Dijke",
+ "y" : 2,
+ "name" : "Niels van Dijke"
+ },
+ {
+ "drilldown" : "Roger Bell_West",
+ "y" : 2,
+ "name" : "Roger Bell_West"
+ },
+ {
+ "drilldown" : "Simon Miner",
+ "y" : 2,
+ "name" : "Simon Miner"
+ },
+ {
+ "drilldown" : "Simon Proctor",
+ "y" : 2,
+ "name" : "Simon Proctor"
+ },
+ {
+ "drilldown" : "Ulrich Rieke",
+ "y" : 3,
+ "name" : "Ulrich Rieke"
+ },
+ {
+ "name" : "Wanderdoc",
+ "y" : 2,
+ "drilldown" : "Wanderdoc"
+ }
+ ],
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 067"
+ }
+ ]
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index a2361bf3ce..e840af8702 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,11 +1,16 @@
{
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2020-06-30 10:17:33 GMT"
+ },
"series" : [
{
- "name" : "Contributions",
"data" : [
[
"Blog",
- 776
+ 777
],
[
"Perl",
@@ -13,38 +18,30 @@
],
[
"Raku",
- 1761
+ 1763
]
],
"dataLabels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
- "align" : "right",
+ "format" : "{point.y:.0f}",
+ "enabled" : "true",
"rotation" : -90,
"y" : 10,
"color" : "#FFFFFF",
- "format" : "{point.y:.0f}",
- "enabled" : "true"
- }
+ "align" : "right",
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ },
+ "name" : "Contributions"
}
],
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
+ "chart" : {
+ "type" : "column"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
},
- "subtitle" : {
- "text" : "Last updated at 2020-06-30 09:54:12 GMT"
- },
"xAxis" : {
"type" : "category",
"labels" : {
@@ -57,7 +54,10 @@
"legend" : {
"enabled" : "false"
},
- "chart" : {
- "type" : "column"
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 15b78237be..5877afe77d 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,11 +1,7 @@
{
- "xAxis" : {
- "type" : "category"
- },
"drilldown" : {
"series" : [
{
- "name" : "001",
"data" : [
[
"Perl",
@@ -20,11 +16,10 @@
11
]
],
- "id" : "001"
+ "id" : "001",
+ "name" : "001"
},
{
- "name" : "002",
- "id" : "002",
"data" : [
[
"Perl",
@@ -38,7 +33,9 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "002",
+ "name" : "002"
},
{
"id" : "003",
@@ -59,6 +56,8 @@
"name" : "003"
},
{
+ "name" : "004",
+ "id" : "004",
"data" : [
[
"Perl",
@@ -72,13 +71,9 @@
"Blog",
10
]
- ],
- "id" : "004",
- "name" : "004"
+ ]
},
{
- "name" : "005",
- "id" : "005",
"data" : [
[
"Perl",
@@ -92,10 +87,13 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "005",
+ "name" : "005"
},
{
"name" : "006",
+ "id" : "006",
"data" : [
[
"Perl",
@@ -109,11 +107,10 @@
"Blog",
7
]
- ],
- "id" : "006"
+ ]
},
{
- "id" : "007",
+ "name" : "007",
"data" : [
[
"Perl",
@@ -128,10 +125,10 @@
10
]
],
- "name" : "007"
+ "id" : "007"
},
{
- "name" : "008",
+ "id" : "008",
"data" : [
[
"Perl",
@@ -146,7 +143,7 @@
12
]
],
- "id" : "008"
+ "name" : "008"
},
{
"name" : "009",
@@ -168,7 +165,6 @@
},
{
"name" : "010",
- "id" : "010",
"data" : [
[
"Perl",
@@ -182,9 +178,12 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "010"
},
{
+ "name" : "011",
+ "id" : "011",
"data" : [
[
"Perl",
@@ -198,12 +197,9 @@
"Blog",
10
]
- ],
- "id" : "011",
- "name" : "011"
+ ]
},
{
- "id" : "012",
"data" : [
[
"Perl",
@@ -218,10 +214,10 @@
11
]
],
+ "id" : "012",
"name" : "012"
},
{
- "name" : "013",
"data" : [
[
"Perl",
@@ -236,9 +232,12 @@
13
]
],
- "id" : "013"
+ "id" : "013",
+ "name" : "013"
},
{
+ "name" : "014",
+ "id" : "014",
"data" : [
[
"Perl",
@@ -252,9 +251,7 @@
"Blog",
15
]
- ],
- "id" : "014",
- "name" : "014"
+ ]
},
{
"name" : "015",
@@ -293,8 +290,6 @@
]
},
{
- "name" : "017",
- "id" : "017",
"data" : [
[
"Perl",
@@ -308,9 +303,13 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "017",
+ "name" : "017"
},
{
+ "name" : "018",
+ "id" : "018",
"data" : [
[
"Perl",
@@ -324,11 +323,10 @@
"Blog",
14
]
- ],
- "id" : "018",
- "name" : "018"
+ ]
},
{
+ "name" : "019",
"data" : [
[
"Perl",
@@ -343,11 +341,9 @@
13
]
],
- "id" : "019",
- "name" : "019"
+ "id" : "019"
},
{
- "name" : "020",
"id" : "020",
"data" : [
[
@@ -362,10 +358,11 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "020"
},
{
- "id" : "021",
+ "name" : "021",
"data" : [
[
"Perl",
@@ -380,10 +377,9 @@
10
]
],
- "name" : "021"
+ "id" : "021"
},
{
- "id" : "022",
"data" : [
[
"Perl",
@@ -398,10 +394,11 @@
10
]
],
+ "id" : "022",
"name" : "022"
},
{
- "id" : "023",
+ "name" : "023",
"data" : [
[
"Perl",
@@ -416,7 +413,7 @@
12
]
],
- "name" : "023"
+ "id" : "023"
},
{
"name" : "024",
@@ -437,6 +434,7 @@
"id" : "024"
},
{
+ "name" : "025",
"id" : "025",
"data" : [
[
@@ -451,11 +449,9 @@
"Blog",
12
]
- ],
- "name" : "025"
+ ]
},
{
- "name" : "026",
"id" : "026",
"data" : [
[
@@ -470,11 +466,11 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "026"
},
{
"name" : "027",
- "id" : "027",
"data" : [
[
"Perl",
@@ -488,7 +484,8 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "027"
},
{
"id" : "028",
@@ -509,7 +506,7 @@
"name" : "028"
},
{
- "id" : "029",
+ "name" : "029",
"data" : [
[
"Perl",
@@ -524,9 +521,10 @@
12
]
],
- "name" : "029"
+ "id" : "029"
},
{
+ "name" : "030",
"id" : "030",
"data" : [
[
@@ -541,12 +539,10 @@
"Blog",
10
]
- ],
- "name" : "030"
+ ]
},
{
"name" : "031",
- "id" : "031",
"data" : [
[
"Perl",
@@ -560,7 +556,8 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "031"
},
{
"data" : [
@@ -599,7 +596,6 @@
]
},
{
- "name" : "034",
"id" : "034",
"data" : [
[
@@ -614,11 +610,11 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "034"
},
{
"name" : "035",
- "id" : "035",
"data" : [
[
"Perl",
@@ -632,11 +628,11 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "035"
},
{
"name" : "036",
- "id" : "036",
"data" : [
[
"Perl",
@@ -650,10 +646,10 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "036"
},
{
- "name" : "037",
"data" : [
[
"Perl",
@@ -668,9 +664,11 @@
9
]
],
- "id" : "037"
+ "id" : "037",
+ "name" : "037"
},
{
+ "name" : "038",
"data" : [
[
"Perl",
@@ -685,10 +683,10 @@
12
]
],
- "id" : "038",
- "name" : "038"
+ "id" : "038"
},
{
+ "id" : "039",
"data" : [
[
"Perl",
@@ -703,10 +701,10 @@
12
]
],
- "id" : "039",
"name" : "039"
},
{
+ "name" : "040",
"id" : "040",
"data" : [
[
@@ -721,8 +719,7 @@
"Blog",
10
]
- ],
- "name" : "040"
+ ]
},
{
"data" : [
@@ -743,6 +740,7 @@
"name" : "041"
},
{
+ "name" : "042",
"data" : [
[
"Perl",
@@ -757,8 +755,7 @@
11
]
],
- "id" : "042",
- "name" : "042"
+ "id" : "042"
},
{
"id" : "043",
@@ -780,6 +777,7 @@
},
{
"name" : "044",
+ "id" : "044",
"data" : [
[
"Perl",
@@ -793,12 +791,9 @@
"Blog",
11
]
- ],
- "id" : "044"
+ ]
},
{
- "name" : "045",
- "id" : "045",
"data" : [
[
"Perl",
@@ -812,10 +807,11 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "045",
+ "name" : "045"
},
{
- "id" : "046",
"data" : [
[
"Perl",
@@ -830,9 +826,11 @@
10
]
],
+ "id" : "046",
"name" : "046"
},
{
+ "name" : "047",
"data" : [
[
"Perl",
@@ -847,8 +845,7 @@
10
]
],
- "id" : "047",
- "name" : "047"
+ "id" : "047"
},
{
"id" : "048",
@@ -869,7 +866,6 @@
"name" : "048"
},
{
- "name" : "049",
"data" : [
[
"Perl",
@@ -884,10 +880,10 @@
12
]
],
- "id" : "049"
+ "id" : "049",
+ "name" : "049"
},
{
- "id" : "050",
"data" : [
[
"Perl",
@@ -902,10 +898,11 @@
12
]
],
+ "id" : "050",
"name" : "050"
},
{
- "name" : "051",
+ "id" : "051",
"data" : [
[
"Perl",
@@ -920,9 +917,10 @@
11
]
],
- "id" : "051"
+ "name" : "051"
},
{
+ "name" : "052",
"id" : "052",
"data" : [
[
@@ -937,11 +935,11 @@
"Blog",
14
]
- ],
- "name" : "052"
+ ]
},
{
"name" : "053",
+ "id" : "053",
"data" : [
[
"Perl",
@@ -955,10 +953,10 @@
"Blog",
15
]
- ],
- "id" : "053"
+ ]
},
{
+ "name" : "054",
"data" : [
[
"Perl",
@@ -973,11 +971,9 @@
16
]
],
- "id" : "054",
- "name" : "054"
+ "id" : "054"
},
{
- "name" : "055",
"id" : "055",
"data" : [
[
@@ -992,10 +988,10 @@
"Blog",
14
]
- ]
+ ],
+ "name" : "055"
},
{
- "name" : "056",
"id" : "056",
"data" : [
[
@@ -1010,10 +1006,10 @@
"Blog",
16
]
- ]
+ ],
+ "name" : "056"
},
{
- "name" : "057",
"id" : "057",
"data" : [
[
@@ -1028,7 +1024,8 @@
"Blog",
15
]
- ]
+ ],
+ "name" : "057"
},
{
"name" : "058",
@@ -1049,7 +1046,6 @