aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-02-10 11:38:39 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-02-10 11:38:39 +0000
commiteafbcb908967a51753c6578afb7694dbff764e61 (patch)
treebbd090d796f6a16bbdb42ede24f51d249ead8afa
parent8281bdb331d1d40447b54125ab3013aaf4178127 (diff)
downloadperlweeklychallenge-club-eafbcb908967a51753c6578afb7694dbff764e61.tar.gz
perlweeklychallenge-club-eafbcb908967a51753c6578afb7694dbff764e61.tar.bz2
perlweeklychallenge-club-eafbcb908967a51753c6578afb7694dbff764e61.zip
- Added solutions by Scimon Proctor.
-rw-r--r--challenge-047/simon-proctor/raku/ch-1.raku73
-rw-r--r--challenge-047/simon-proctor/raku/ch-2.raku10
-rw-r--r--stats/pwc-current.json85
-rw-r--r--stats/pwc-language-breakdown-summary.json68
-rw-r--r--stats/pwc-language-breakdown.json338
-rw-r--r--stats/pwc-leaders.json382
-rw-r--r--stats/pwc-summary-1-30.json118
-rw-r--r--stats/pwc-summary-121-150.json54
-rw-r--r--stats/pwc-summary-31-60.json42
-rw-r--r--stats/pwc-summary-61-90.json28
-rw-r--r--stats/pwc-summary-91-120.json104
-rw-r--r--stats/pwc-summary.json324
12 files changed, 779 insertions, 847 deletions
diff --git a/challenge-047/simon-proctor/raku/ch-1.raku b/challenge-047/simon-proctor/raku/ch-1.raku
deleted file mode 100644
index 0211d9e47e..0000000000
--- a/challenge-047/simon-proctor/raku/ch-1.raku
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env perl6
-
-use v6.d;
-
-# Cribbing my code from challenge 10
-# Note that I'm skipping the Unicode values this time for size mostly
-subset RomanStr of Str where * ~~ /^ <[M C D X L V I]>+ $/;
-subset RomanInt of Int where 0 < * < 3001;
-subset Operator of Str where * ~~ /^ ( "*" | "+" | "-" | "/" ) $ /;
-
-#| Given two roman numerals and an operation on them
-#| produce the result.
-#| Note that division only works where the first value is greater than the second.
-#| Results over 3000 and non valid numerals will return an error
-multi sub MAIN (
- RomanStr $i, Operator $operator, RomanStr $j
-) {
- say "$i $operator $j = {perf-op( $operator, $i, $j )}";
-}
-
-#| Single String of operation to parse
-multi sub MAIN (
- Str $compound where m!^ (<[M C D X L V I]>+) " "? ( "*" | "+" | "-" | "/" ) " "? (<[M C D X L V I]>+) $!;
-) {
- MAIN( $0.Str, $1.Str, $2.Str );
-}
-
-multi sub perf-op( "+", RomanStr $i, RomanStr $j ) {
- to-roman( from-roman($i) + from-roman($j) );
-}
-
-multi sub perf-op( "-", RomanStr $i, RomanStr $j ) {
- to-roman( from-roman($i) - from-roman($j) );
-}
-
-multi sub perf-op( "*", RomanStr $i, RomanStr $j ) {
- to-roman( from-roman($i) * from-roman($j) );
-}
-
-multi sub perf-op( "/", RomanStr $i, RomanStr $j where { from-roman($i) > from-roman($j) } ) {
- my $res = from-roman($i) div from-roman($j);
- my $rem = from-roman($i) % from-roman($j);
- to-roman($res) ~ ( $rem ?? " remainder {to-roman($rem)}" !! "" );
-}
-
-multi sub perf-op(*@){ die "Invalid operation. Did you try and create a fraction?" }
-
-sub to-roman (RomanInt $number is copy) {
- my $out = "";
- my @values = ( :1000M, :900CM, :500D, :400CD, :100C, :90XC, :50L, :40XL, :10X, :9IX, :5V, :4IV, :1I );
- for @values -> $pair {
- my ( $sigil, $num ) = $pair.kv;
- while ( $number >= $num ) {
- $out ~= $sigil;
- $number -= $num;
- }
- }
-
- $out;
-}
-
-sub from-roman( RomanStr $roman is copy ) {
- my %roman-map = (:1000M, :900CM, :500D, :400CD, :100C, :90XC, :50L, :40XL, :10X, :9IX, :5V, :4IV, :1I );
-
- my $out = 0;
- while my $match = $roman ~~ s!^ "M" | "CM" | "D" | "CD" |
- "C" | "XC" | "L" | "XL" |
- "X" | "IX" | "V" | "IV" | "I"
- !! {
- $out += %roman-map{$match};
- }
- $out;
-}
diff --git a/challenge-047/simon-proctor/raku/ch-2.raku b/challenge-047/simon-proctor/raku/ch-2.raku
deleted file mode 100644
index dd2e54bbfe..0000000000
--- a/challenge-047/simon-proctor/raku/ch-2.raku
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env perl6
-
-use v6.d;
-
-#| Calculate the the first $count gapful numbers greater than 100
-sub MAIN (
- UInt $count = 20 #= Number of gapful numbers to calulate (default 20)
-) {
- .say for (100..*).grep( { $^a %% $^a.comb[0,*-1].join.Int } )[^$count]
-}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 7556dc6256..047f4cc64d 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,31 +1,4 @@
{
- "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/>"
- },
- "series" : [
- {
- "colorByPoint" : 1,
- "name" : "Perl Weekly Challenge - 047",
- "data" : [
- {
- "y" : 4,
- "drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari"
- }
- ]
- }
- ],
- "subtitle" : {
- "text" : "[Champions: 1] Last updated at 2020-02-10 11:33:55 GMT"
- },
- "xAxis" : {
- "type" : "category"
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 047"
- },
"plotOptions" : {
"series" : {
"borderWidth" : 0,
@@ -35,20 +8,30 @@
}
}
},
- "legend" : {
- "enabled" : 0
+ "subtitle" : {
+ "text" : "[Champions: 2] Last updated at 2020-02-10 11:38:25 GMT"
+ },
+ "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"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 047"
},
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "chart" : {
- "type" : "column"
- },
"drilldown" : {
"series" : [
{
+ "name" : "Luca Ferrari",
+ "id" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -58,10 +41,42 @@
"Blog",
2
]
- ],
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari"
+ ]
+ },
+ {
+ "name" : "Simon Proctor",
+ "id" : "Simon Proctor",
+ "data" : [
+ [
+ "Raku",
+ 2
+ ]
+ ]
}
]
+ },
+ "legend" : {
+ "enabled" : 0
+ },
+ "series" : [
+ {
+ "data" : [
+ {
+ "y" : 4,
+ "name" : "Luca Ferrari",
+ "drilldown" : "Luca Ferrari"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Simon Proctor",
+ "name" : "Simon Proctor"
+ }
+ ],
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 047"
+ }
+ ],
+ "xAxis" : {
+ "type" : "category"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index b386f0dd9e..0da4f9d96e 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,42 +1,15 @@
{
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
- },
- "legend" : {
- "enabled" : "false"
- },
- "chart" : {
- "type" : "column"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
"xAxis" : {
+ "type" : "category",
"labels" : {
"style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
}
- },
- "type" : "category"
+ }
},
"series" : [
{
- "dataLabels" : {
- "align" : "right",
- "enabled" : "true",
- "y" : 10,
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
- "color" : "#FFFFFF",
- "rotation" : -90,
- "format" : "{point.y:.0f}"
- },
"data" : [
[
"Blog",
@@ -48,16 +21,43 @@
],
[
"Raku",
- 1162
+ 1164
]
],
+ "dataLabels" : {
+ "format" : "{point.y:.0f}",
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ },
+ "color" : "#FFFFFF",
+ "enabled" : "true",
+ "align" : "right",
+ "rotation" : -90,
+ "y" : 10
+ },
"name" : "Contributions"
}
],
- "subtitle" : {
- "text" : "Last updated at 2020-02-10 11:33:55 GMT"
+ "legend" : {
+ "enabled" : "false"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2020-02-10 11:38:25 GMT"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 40e1c8cef4..690811ddc9 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,10 +1,11 @@
{
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-02-10 11:33:55 GMT"
+ "xAxis" : {
+ "type" : "category"
},
"series" : [
{
"colorByPoint" : "true",
+ "name" : "Perl Weekly Challenge Languages",
"data" : [
{
"y" : 140,
@@ -22,19 +23,19 @@
"drilldown" : "003"
},
{
- "y" : 91,
+ "drilldown" : "004",
"name" : "#004",
- "drilldown" : "004"
+ "y" : 91
},
{
- "name" : "#005",
+ "y" : 71,
"drilldown" : "005",
- "y" : 71
+ "name" : "#005"
},
{
- "y" : 48,
"name" : "#006",
- "drilldown" : "006"
+ "drilldown" : "006",
+ "y" : 48
},
{
"name" : "#007",
@@ -42,8 +43,8 @@
"y" : 56
},
{
- "drilldown" : "008",
"name" : "#008",
+ "drilldown" : "008",
"y" : 70
},
{
@@ -57,13 +58,13 @@
"y" : 60
},
{
- "y" : 79,
"name" : "#011",
- "drilldown" : "011"
+ "drilldown" : "011",
+ "y" : 79
},
{
- "drilldown" : "012",
"name" : "#012",
+ "drilldown" : "012",
"y" : 83
},
{
@@ -72,9 +73,9 @@
"y" : 76
},
{
- "y" : 96,
"name" : "#014",
- "drilldown" : "014"
+ "drilldown" : "014",
+ "y" : 96
},
{
"y" : 93,
@@ -92,29 +93,29 @@
"y" : 79
},
{
+ "y" : 76,
"drilldown" : "018",
- "name" : "#018",
- "y" : 76
+ "name" : "#018"
},
{
- "name" : "#019",
"drilldown" : "019",
+ "name" : "#019",
"y" : 95
},
{
"y" : 95,
- "name" : "#020",
- "drilldown" : "020"
+ "drilldown" : "020",
+ "name" : "#020"
},
{
- "drilldown" : "021",
+ "y" : 67,
"name" : "#021",
- "y" : 67
+ "drilldown" : "021"
},
{
- "drilldown" : "022",
+ "y" : 63,
"name" : "#022",
- "y" : 63
+ "drilldown" : "022"
},
{
"drilldown" : "023",
@@ -122,64 +123,64 @@
"y" : 91
},
{
+ "y" : 70,
"drilldown" : "024",
- "name" : "#024",
- "y" : 70
+ "name" : "#024"
},
{
+ "y" : 55,
"name" : "#025",
- "drilldown" : "025",
- "y" : 55
+ "drilldown" : "025"
},
{
- "name" : "#026",
+ "y" : 70,
"drilldown" : "026",
- "y" : 70
+ "name" : "#026"
},
{
- "y" : 58,
+ "drilldown" : "027",
"name" : "#027",
- "drilldown" : "027"
+ "y" : 58
},
{
- "name" : "#028",
"drilldown" : "028",
+ "name" : "#028",
"y" : 78
},
{
- "y" : 77,
"name" : "#029",
- "drilldown" : "029"
+ "drilldown" : "029",
+ "y" : 77
},
{
- "name" : "#030",
"drilldown" : "030",
+ "name" : "#030",
"y" : 115
},
{
"y" : 87,
- "drilldown" : "031",
- "name" : "#031"
+ "name" : "#031",
+ "drilldown" : "031"
},
{
"y" : 92,
- "name" : "#032",
- "drilldown" : "032"
+ "drilldown" : "032",
+ "name" : "#032"
},
{
"y" : 108,
- "drilldown" : "033",
- "name" : "#033"
+ "name" : "#033",
+ "drilldown" : "033"
},
{
- "name" : "#034",
"drilldown" : "034",
+ "name" : "#034",
"y" : 60
},
{
+ "y" : 60,
"drilldown" : "035",
- "name" : "#035",
- "y" : 60
+ "name" : "#035"
},
{
"y" : 61,
@@ -187,74 +188,70 @@
"name" : "#036"
},
{
- "y" : 63,
+ "drilldown" : "037",
"name" : "#037",
- "drilldown" : "037"
+ "y" : 63
},
{
- "y" : 60,
+ "name" : "#038",
"drilldown" : "038",
- "name" : "#038"
+ "y" : 60
},
{
"y" : 60,
- "drilldown" : "039",
- "name" : "#039"
+ "name" : "#039",
+ "drilldown" : "039"
},
{
- "drilldown" : "040",
+ "y" : 66,
"name" : "#040",
- "y" : 66
+ "drilldown" : "040"
},
{
- "y" : 69,
"name" : "#041",
- "drilldown" : "041"
+ "drilldown" : "041",
+ "y" : 69
},
{
+ "y" : 88,
"drilldown" : "042",
- "name" : "#042",
- "y" : 88
+ "name" : "#042"
},
{
- "y" : 65,
"drilldown" : "043",
- "name" : "#043"
+ "name" : "#043",
+ "y" : 65
},
{
- "y" : 75,
"drilldown" : "044",
- "name" : "#044"
+ "name" : "#044",
+ "y" : 75
},
{
"y" : 93,
- "drilldown" : "045",
- "name" : "#045"
+ "name" : "#045",
+ "drilldown" : "045"
},
{
- "y" : 82,
"drilldown" : "046",
- "name" : "#046"
+ "name" : "#046",
+ "y" : 82
},
{
- "y" : 4,
- "drilldown" : "047",
- "name" : "#047"
+ "y" : 6,
+ "name" : "#047",
+ "drilldown" : "047"
}
- ],
- "name" : "Perl Weekly Challenge Languages"
+ ]
}
],
- "tooltip" : {
- "headerFormat" : "<span style=\"font-size:11px\"></span>",
- "followPointer" : "true",
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>"
+ "legend" : {
+ "enabled" : "false"
},
"drilldown" : {
"series" : [
{
"id" : "001",
- "name" : "001",
"data" : [
[
"Perl",
@@ -268,10 +265,10 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "001"
},
{
- "id" : "002",
"data" : [
[
"Perl",
@@ -286,11 +283,12 @@
10
]
],
+ "id" : "002",
"name" : "002"
},
{
- "id" : "003",
"name" : "003",
+ "id" : "003",
"data" : [
[
"Perl",
@@ -307,6 +305,7 @@
]
},
{
+ "id" : "004",
"data" : [
[
"Perl",
@@ -321,11 +320,11 @@
10
]
],
- "name" : "004",
- "id" : "004"
+ "name" : "004"
},
{
"name" : "005",
+ "id" : "005",
"data" : [
[
"Perl",
@@ -339,12 +338,10 @@
"Blog",
12
]
- ],
- "id" : "005"
+ ]
},
{
"id" : "006",
- "name" : "006",
"data" : [
[
"Perl",
@@ -358,11 +355,12 @@
"Blog",
7
]
- ]
+ ],
+ "name" : "006"
},
{
- "id" : "007",
"name" : "007",
+ "id" : "007",
"data" : [
[
"Perl",
@@ -379,7 +377,7 @@
]
},
{
- "id" : "008",
+ "name" : "008",
"data" : [
[
"Perl",
@@ -394,10 +392,9 @@
12
]
],
- "name" : "008"
+ "id" : "008"
},
{
- "id" : "009",
"name" : "009",
"data" : [
[
@@ -412,9 +409,11 @@
"Blog",
13
]
- ]
+ ],
+ "id" : "009"
},
{
+ "id" : "010",
"data" : [
[
"Perl",
@@ -429,11 +428,9 @@
11
]
],
- "name" : "010",
- "id" : "010"
+ "name" : "010"
},
{
- "name" : "011",
"data" : [
[
"Perl",
@@ -448,10 +445,10 @@
10
]
],
- "id" : "011"
+ "id" : "011",
+ "name" : "011"
},
{
- "name" : "012",
"data" : [
[
"Perl",
@@ -466,7 +463,8 @@
11
]
],
- "id" : "012"
+ "id" : "012",
+ "name" : "012"
},
{
"name" : "013",
@@ -487,6 +485,7 @@
"id" : "013"
},
{
+ "name" : "014",
"data" : [
[
"Perl",
@@ -501,11 +500,10 @@
15
]
],
- "name" : "014",
"id" : "014"
},
{
- "name" : "015",
+ "id" : "015",
"data" : [
[
"Perl",
@@ -520,11 +518,9 @@
15
]
],
- "id" : "015"
+ "name" : "015"
},
{
- "id" : "016",
- "name" : "016",
"data" : [
[
"Perl",
@@ -538,10 +534,12 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "016",
+ "name" : "016"
},
{
- "id" : "017",
+ "name" : "017",
"data" : [
[
"Perl",
@@ -556,11 +554,11 @@
12
]
],
- "name" : "017"
+ "id" : "017"
},
{
- "id" : "018",
"name" : "018",
+ "id" : "018",
"data" : [
[
"Perl",
@@ -577,7 +575,6 @@
]
},
{
- "name" : "019",
"data" : [
[
"Perl",
@@ -592,10 +589,11 @@
13
]
],
- "id" : "019"
+ "id" : "019",
+ "name" : "019"
},
{
- "id" : "020",
+ "name" : "020",
"data" : [
[
"Perl",
@@ -610,9 +608,10 @@
13
]
],
- "name" : "020"
+ "id" : "020"
},
{
+ "id" : "021",
"data" : [
[
"Perl",
@@ -627,11 +626,10 @@
10
]
],
- "name" : "021",
- "id" : "021"
+ "name" : "021"
},
{
- "name" : "022",
+ "id" : "022",
"data" : [
[
"Perl",
@@ -646,10 +644,10 @@
10
]
],
- "id" : "022"
+ "name" : "022"
},
{
- "name" : "023",
+ "id" : "023",
"data" : [
[
"Perl",
@@ -664,9 +662,11 @@
12
]
],
- "id" : "023"
+ "name" : "023"
},
{
+ "name" : "024",
+ "id" : "024",
"data" : [
[
"Perl",
@@ -680,11 +680,11 @@
"Blog",
11
]
- ],
- "name" : "024",
- "id" : "024"
+ ]
},
{
+ "name" : "025",
+ "id" : "025",
"data" : [
[
"Perl",
@@ -698,12 +698,10 @@
"Blog",
12
]
- ],
- "name" : "025",
- "id" : "025"
+ ]
},
{
- "name" : "026",
+ "id" : "026",
"data" : [
[
"Perl",
@@ -718,10 +716,10 @@
10
]
],
- "id" : "026"
+ "name" : "026"
},
{
- "id" : "027",
+ "name" : "027",
"data" : [
[
"Perl",
@@ -736,11 +734,9 @@
9
]
],
- "name" : "027"
+ "id" : "027"
},
{
- "id" : "028",
- "name" : "028",
"data" : [
[
"Perl",
@@ -754,7 +750,9 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "028",
+ "name" : "028"
},
{
"id" : "029",
@@ -775,7 +773,7 @@
"name" : "029"
},
{
- "id" : "030",
+ "name" : "030",
"data" : [
[
"Perl",
@@ -790,10 +788,10 @@
10
]
],
- "name" : "030"
+ "id" : "030"
},
{
- "id" : "031",
+ "name" : "031",
"data" : [
[
"Perl",
@@ -808,11 +806,9 @@
9
]
],
- "name" : "031"
+ "id" : "031"
},
{
- "id" : "032",
- "name" : "032",
"data" : [
[
"Perl",
@@ -826,10 +822,11 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "032",
+ "name" : "032"
},
{
- "id" : "033",
"name" : "033",
"data" : [
[
@@ -844,9 +841,11 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "033"
},
{
+ "name" : "034",
"id" : "034",
"data" : [
[
@@ -861,11 +860,9 @@
"Blog",
11
]
- ],
- "name" : "034"
+ ]
},
{
- "id" : "035",
"name" : "035",
"data" : [
[
@@ -880,7 +877,8 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "035"
},
{
"id" : "036",
@@ -901,6 +899,7 @@
"name" : "036"
},
{
+ "name" : "037",
"id" : "037",
"data" : [
[
@@ -915,11 +914,9 @@
"Blog",
9
]
- ],
- "name" : "037"
+ ]
},
{
- "id" : "038",
"data" : [
[
"Perl",
@@ -934,6 +931,7 @@
11
]
],
+ "id" : "038",
"name" : "038"
},
{
@@ -951,12 +949,11 @@
12
]
],
- "name" : "039",
- "id" : "039"
+ "id" : "039",
+ "name" : "039"
},
{
"id" : "040",
- "name" : "040",
"data" : [
[
"Perl",
@@ -970,7 +967,8 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "040"
},
{
"id" : "041",
@@ -1009,6 +1007,8 @@
"id" : "042"
},
{
+ "name" : "043",
+ "id" : "043",
"data" : [
[
"Perl",
@@ -1022,12 +1022,9 @@
"Blog",
10
]
- ],
- "name" : "043",
- "id" : "043"
+ ]
},
{
- "id" : "044",
"data" : [
[
"Perl",
@@ -1042,10 +1039,10 @@
8
]
],
+ "id" : "044",