aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-13 23:03:41 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-06-13 23:03:41 +0100
commita068a20e0ba48863f3ccade315a393b8b54f4292 (patch)
tree07f26118f1ab0e08a8432f2c04eae01501749599
parentf1300dc426a326c6b25f3001e172e53bca02786e (diff)
downloadperlweeklychallenge-club-a068a20e0ba48863f3ccade315a393b8b54f4292.tar.gz
perlweeklychallenge-club-a068a20e0ba48863f3ccade315a393b8b54f4292.tar.bz2
perlweeklychallenge-club-a068a20e0ba48863f3ccade315a393b8b54f4292.zip
- Added solutions by Arne Sommer.
-rw-r--r--challenge-064/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-064/arne-sommer/raku/ch-1.p672
-rwxr-xr-xchallenge-064/arne-sommer/raku/ch-2.p617
-rwxr-xr-xchallenge-064/arne-sommer/raku/matrix-3x3.txt3
-rwxr-xr-xchallenge-064/arne-sommer/raku/matrix-zero.txt6
-rwxr-xr-xchallenge-064/arne-sommer/raku/misupa72
-rwxr-xr-xchallenge-064/arne-sommer/raku/misupa-direction83
-rwxr-xr-xchallenge-064/arne-sommer/raku/misupa-random93
-rwxr-xr-xchallenge-064/arne-sommer/raku/word-break17
-rwxr-xr-xchallenge-064/arne-sommer/raku/word-break-short9
-rwxr-xr-xchallenge-064/arne-sommer/raku/word-break-turbo27
-rw-r--r--stats/pwc-current.json219
-rw-r--r--stats/pwc-language-breakdown-summary.json60
-rw-r--r--stats/pwc-language-breakdown.json476
-rw-r--r--stats/pwc-leaders.json394
-rw-r--r--stats/pwc-summary-1-30.json108
-rw-r--r--stats/pwc-summary-121-150.json102
-rw-r--r--stats/pwc-summary-151-180.json50
-rw-r--r--stats/pwc-summary-31-60.json96
-rw-r--r--stats/pwc-summary-61-90.json56
-rw-r--r--stats/pwc-summary-91-120.json110
-rw-r--r--stats/pwc-summary.json384
22 files changed, 1437 insertions, 1018 deletions
diff --git a/challenge-064/arne-sommer/blog.txt b/challenge-064/arne-sommer/blog.txt
new file mode 100644
index 0000000000..76e55cad56
--- /dev/null
+++ b/challenge-064/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/minimum-break.html
diff --git a/challenge-064/arne-sommer/raku/ch-1.p6 b/challenge-064/arne-sommer/raku/ch-1.p6
new file mode 100755
index 0000000000..e8d9e70f1d
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/ch-1.p6
@@ -0,0 +1,72 @@
+#! /usr/bin/env raku
+
+multi MAIN (:$verbose)
+{
+ MAIN(lines().join, :$verbose);
+}
+
+multi MAIN ($file where $file.IO.e, :$verbose)
+{
+ MAIN($file.IO.lines().join, :$verbose);
+}
+
+multi MAIN (Str $string is copy where ! $string.IO.e, :$verbose)
+{
+ subset PositiveIntZero of Int where * >= 0;
+
+ my @matrix;
+
+ while $string ~~ /"[" (.*?) "]" (.*)/
+ {
+ $string = $1.Str.trim;
+
+ say ":: Row: $0" if $verbose;
+
+ my @values = $0.words>>.Int;
+ die "Illegal value in row $0" unless all(@values) ~~ PositiveIntZero;
+
+ @matrix.push: @values;
+ }
+
+ my @path = ();
+ my $best = Inf;
+ my $last_row = @matrix.elems - 1;
+ my $last_col = @matrix[0].elems -1;
+
+ die "Not the same length on the rows" unless [==] @matrix>>.elems;
+
+ traverse((@matrix[0;0],), 0, 0);
+
+ for @path -> @current
+ {
+ say "$best ( { @current.join(" → ") } )";
+ }
+
+ sub traverse (@my-path, $x, $y)
+ {
+ if $x == $last_row && $y == $last_col
+ {
+ my $sum = @my-path.sum;
+ say ":: At the end with sum $sum and path: @my-path[]" if $verbose;
+ ( $best = $sum; @path = () ) if $sum < $best;
+ @path.push: @my-path if $sum == $best;
+ return;
+ }
+
+ say ":: Currently at pos: [$x,$y] with path: @my-path[]" if $verbose;
+
+ if $x < $last_row
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x+1;$y];
+ traverse(@new-path, $x+1, $y);
+ }
+ if $y < $last_col
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x;$y+1];
+ traverse(@new-path, $x, $y+1);
+ }
+ }
+
+}
diff --git a/challenge-064/arne-sommer/raku/ch-2.p6 b/challenge-064/arne-sommer/raku/ch-2.p6
new file mode 100755
index 0000000000..67309e3c6a
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/ch-2.p6
@@ -0,0 +1,17 @@
+#! /usr/bin/env raku
+
+sub MAIN ($string, *@words where @words.elems > 0, :$verbose)
+{
+ my $match = 0;
+ for @words.permutations -> @candidate
+ {
+ my $wordlist = @candidate.map({ "\"$_\"" }).join(", ");
+ say ": $wordlist" if $verbose;
+ if @candidate.join eq $string
+ {
+ say $wordlist;
+ $match++;
+ }
+ }
+ say "0" unless $match;
+}
diff --git a/challenge-064/arne-sommer/raku/matrix-3x3.txt b/challenge-064/arne-sommer/raku/matrix-3x3.txt
new file mode 100755
index 0000000000..6c7666be82
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/matrix-3x3.txt
@@ -0,0 +1,3 @@
+[ 1 2 3 ]
+[ 4 5 6 ]
+[ 7 8 9 ]
diff --git a/challenge-064/arne-sommer/raku/matrix-zero.txt b/challenge-064/arne-sommer/raku/matrix-zero.txt
new file mode 100755
index 0000000000..e5a12a9a6d
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/matrix-zero.txt
@@ -0,0 +1,6 @@
+[ 0 0 0 0 0 ]
+[ 0 0 0 0 0 ]
+[ 0 0 0 0 0 ]
+[ 0 0 0 0 0 ]
+[ 0 0 0 0 0 ]
+[ 0 0 0 0 0 ]
diff --git a/challenge-064/arne-sommer/raku/misupa b/challenge-064/arne-sommer/raku/misupa
new file mode 100755
index 0000000000..e8d9e70f1d
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/misupa
@@ -0,0 +1,72 @@
+#! /usr/bin/env raku
+
+multi MAIN (:$verbose)
+{
+ MAIN(lines().join, :$verbose);
+}
+
+multi MAIN ($file where $file.IO.e, :$verbose)
+{
+ MAIN($file.IO.lines().join, :$verbose);
+}
+
+multi MAIN (Str $string is copy where ! $string.IO.e, :$verbose)
+{
+ subset PositiveIntZero of Int where * >= 0;
+
+ my @matrix;
+
+ while $string ~~ /"[" (.*?) "]" (.*)/
+ {
+ $string = $1.Str.trim;
+
+ say ":: Row: $0" if $verbose;
+
+ my @values = $0.words>>.Int;
+ die "Illegal value in row $0" unless all(@values) ~~ PositiveIntZero;
+
+ @matrix.push: @values;
+ }
+
+ my @path = ();
+ my $best = Inf;
+ my $last_row = @matrix.elems - 1;
+ my $last_col = @matrix[0].elems -1;
+
+ die "Not the same length on the rows" unless [==] @matrix>>.elems;
+
+ traverse((@matrix[0;0],), 0, 0);
+
+ for @path -> @current
+ {
+ say "$best ( { @current.join(" → ") } )";
+ }
+
+ sub traverse (@my-path, $x, $y)
+ {
+ if $x == $last_row && $y == $last_col
+ {
+ my $sum = @my-path.sum;
+ say ":: At the end with sum $sum and path: @my-path[]" if $verbose;
+ ( $best = $sum; @path = () ) if $sum < $best;
+ @path.push: @my-path if $sum == $best;
+ return;
+ }
+
+ say ":: Currently at pos: [$x,$y] with path: @my-path[]" if $verbose;
+
+ if $x < $last_row
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x+1;$y];
+ traverse(@new-path, $x+1, $y);
+ }
+ if $y < $last_col
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x;$y+1];
+ traverse(@new-path, $x, $y+1);
+ }
+ }
+
+}
diff --git a/challenge-064/arne-sommer/raku/misupa-direction b/challenge-064/arne-sommer/raku/misupa-direction
new file mode 100755
index 0000000000..25dc785e00
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/misupa-direction
@@ -0,0 +1,83 @@
+#! /usr/bin/env raku
+
+multi MAIN (:$verbose, :$arrows)
+{
+ MAIN(lines().join, :$verbose, :$arrows);
+}
+
+multi MAIN ($file where $file.IO.e, :$verbose, :$arrows)
+{
+ MAIN($file.IO.lines().join, :$verbose, :$arrows);
+}
+
+multi MAIN (Str $string is copy where ! $string.IO.e, :$verbose, :$arrows)
+{
+ subset PositiveIntZero of Int where * >= 0;
+
+ my @matrix;
+
+ while $string ~~ /"[" (.*?) "]" (.*)/
+ {
+ $string = $1.Str.trim;
+
+ say ":: Row: $0" if $verbose;
+
+ my @values = $0.words>>.Int;
+ die "Illegal value in row $0" unless all(@values) ~~ PositiveIntZero;
+
+ @matrix.push: @values;
+ }
+
+ my @path = ();
+ my @arrows = ();
+ my $best = Inf;
+ my $last_row = @matrix.elems - 1;
+ my $last_col = @matrix[0].elems -1;
+
+ die "Not the same length on the rows" unless [==] @matrix>>.elems;
+
+ traverse((@matrix[0;0],), 0, 0, "");
+
+ if $arrows
+ {
+ for ^@path -> $index
+ {
+ say "$best ({ (roundrobin @(@path[$index]), @arrows[$index].comb).flat })";
+ }
+
+ }
+ else
+ {
+ for @path -> @current
+ {
+ say "$best ( { @current.join(" → ") } )";
+ }
+ }
+
+ sub traverse (@my-path, $x, $y, $arrows)
+ {
+ if $x == $last_row && $y == $last_col
+ {
+ my $sum = @my-path.sum;
+ say ":: At the end with sum $sum and path: @my-path[]" if $verbose;
+ ( $best = $sum; @path = (); @arrows = () ) if $sum < $best;
+ ( @path.push: @my-path; @arrows.push: $arrows) if $sum == $best;
+ return;
+ }
+
+ say ":: Currently at pos: [$x,$y] with path: @my-path[]" if $verbose;
+
+ if $x < $last_row
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x+1;$y];
+ traverse(@new-path, $x+1, $y, $arrows ~ "↓");
+ }
+ if $y < $last_col
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x;$y+1];
+ traverse(@new-path, $x, $y+1, $arrows ~ "→");
+ }
+ }
+}
diff --git a/challenge-064/arne-sommer/raku/misupa-random b/challenge-064/arne-sommer/raku/misupa-random
new file mode 100755
index 0000000000..c498a88ba1
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/misupa-random
@@ -0,0 +1,93 @@
+#! /usr/bin/env raku
+
+multi MAIN ("random", :$verbose, :$arrows, :$cols = 3, :$rows = 3, :$low = 0, :$high = 9)
+{
+ my $matrix;
+ $matrix ~= "[ { ($low .. $high).pick($cols).join(" ") } ]" for ^$rows;
+
+ say "Matrix: $matrix";
+
+ MAIN($matrix, :$verbose, :$arrows);
+}
+
+multi MAIN (:$verbose, :$arrows)
+{
+ MAIN(lines().join, :$verbose, :$arrows);
+}
+
+multi MAIN ($file where $file.IO.e, :$verbose, :$arrows)
+{
+ MAIN($file.IO.lines().join, :$verbose, :$arrows);
+}
+
+multi MAIN (Str $string is copy where ! $string.IO.e, :$verbose, :$arrows)
+{
+ subset PositiveIntZero of Int where * >= 0;
+
+ my @matrix;
+
+ while $string ~~ /"[" (.*?) "]" (.*)/
+ {
+ $string = $1.Str.trim;
+
+ say ":: Row: $0" if $verbose;
+
+ my @values = $0.words>>.Int;
+ die "Illegal value in row $0" unless all(@values) ~~ PositiveIntZero;
+
+ @matrix.push: @values;
+ }
+
+ my @path = ();
+ my @arrows = ();
+ my $best = Inf;
+ my $last_row = @matrix.elems - 1;
+ my $last_col = @matrix[0].elems -1;
+
+ die "Not the same length on the rows" unless [==] @matrix>>.elems;
+
+ traverse((@matrix[0;0],), 0, 0, "");
+
+ if $arrows
+ {
+ for ^@path -> $index
+ {
+ say "$best ({ (roundrobin @(@path[$index]), @arrows[$index].comb).flat })";
+ }
+
+ }
+ else
+ {
+ for @path -> @current
+ {
+ say "$best ( { @current.join(" → ") } )";
+ }
+ }
+
+ sub traverse (@my-path, $x, $y, $arrows)
+ {
+ if $x == $last_row && $y == $last_col
+ {
+ my $sum = @my-path.sum;
+ say ":: At the end with sum $sum and path: @my-path[]" if $verbose;
+ ( $best = $sum; @path = (); @arrows = () ) if $sum < $best;
+ ( @path.push: @my-path; @arrows.push: $arrows) if $sum == $best;
+ return;
+ }
+
+ say ":: Currently at pos: [$x,$y] with path: @my-path[]" if $verbose;
+
+ if $x < $last_row
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x+1;$y];
+ traverse(@new-path, $x+1, $y, $arrows ~ "↓");
+ }
+ if $y < $last_col
+ {
+ my @new-path = @my-path;
+ @new-path.push: @matrix[$x;$y+1];
+ traverse(@new-path, $x, $y+1, $arrows ~ "→");
+ }
+ }
+}
diff --git a/challenge-064/arne-sommer/raku/word-break b/challenge-064/arne-sommer/raku/word-break
new file mode 100755
index 0000000000..67309e3c6a
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/word-break
@@ -0,0 +1,17 @@
+#! /usr/bin/env raku
+
+sub MAIN ($string, *@words where @words.elems > 0, :$verbose)
+{
+ my $match = 0;
+ for @words.permutations -> @candidate
+ {
+ my $wordlist = @candidate.map({ "\"$_\"" }).join(", ");
+ say ": $wordlist" if $verbose;
+ if @candidate.join eq $string
+ {
+ say $wordlist;
+ $match++;
+ }
+ }
+ say "0" unless $match;
+}
diff --git a/challenge-064/arne-sommer/raku/word-break-short b/challenge-064/arne-sommer/raku/word-break-short
new file mode 100755
index 0000000000..9ffd12f0df
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/word-break-short
@@ -0,0 +1,9 @@
+#! /usr/bin/env raku
+
+sub MAIN ($string, *@words where @words.elems > 0)
+{
+ for @words.permutations -> @candidate
+ {
+ say @candidate.map({ "\"$_\"" }).join(", ") if @candidate.join eq $string;
+ }
+}
diff --git a/challenge-064/arne-sommer/raku/word-break-turbo b/challenge-064/arne-sommer/raku/word-break-turbo
new file mode 100755
index 0000000000..c07b015ce9
--- /dev/null
+++ b/challenge-064/arne-sommer/raku/word-break-turbo
@@ -0,0 +1,27 @@
+#! /usr/bin/env raku
+
+sub MAIN ($string, *@words where @words.elems > 0, :$verbose)
+{
+ my $string-length = $string.chars;
+ my $shortest-word = @words>>.chars.min;
+
+ say ": SL: $string-length SW: $shortest-word" if $verbose;
+
+ my @words2 = (@words xx $string-length div $shortest-word).flat.sort({ $^a.chars <=> $^b.chars || $^a cmp $^b });
+
+ say ": Words: @words2[]" if $verbose;
+
+ my $match = 0;
+ for @words2.combinations(1..3).unique(:with(&[eqv])).map({ .elems > 1 ?? | .permutations !! $_ }).unique(:with(&[eqv])) -> @candidate
+ {
+ my $wordlist = @candidate.map({ "\"$_\"" }).join(", ");
+
+ say ": Candidate: $wordlist" if $verbose;
+ if @candidate.join eq $string
+ {
+ say $wordlist;
+ $match++;
+ }
+ }
+ say "0" unless $match;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 26e944b9e6..ebecba703f 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,87 +1,59 @@
{
- "title" : {
- "text" : "Perl Weekly Challenge - 064"
- },
- "tooltip" : {
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "followPointer" : 1,
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
- },
"xAxis" : {
"type" : "category"
},
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
- }
- },
- "legend" : {
- "enabled" : 0
- },
- "subtitle" : {
- "text" : "[Champions: 18] Last updated at 2020-06-13 21:58:45 GMT"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "chart" : {
- "type" : "column"
- },
"series" : [
{
- "colorByPoint" : 1,
- "name" : "Perl Weekly Challenge - 064",
"data" : [
{
+ "name" : "Arne Sommer",
"y" : 3,
+ "drilldown" : "Arne Sommer"
+ },
+ {
"name" : "Bartosz Jarzyna",
+ "y" : 3,
"drilldown" : "Bartosz Jarzyna"
},
{
- "name" : "Cheok-Yin Fung",
+ "drilldown" : "Cheok-Yin Fung",
"y" : 2,
- "drilldown" : "Cheok-Yin Fung"
+ "name" : "Cheok-Yin Fung"
},
{
- "name" : "Colin Crain",
"y" : 1,
- "drilldown" : "Colin Crain"
+ "drilldown" : "Colin Crain",
+ "name" : "Colin Crain"
},
{
+ "y" : 3,
"drilldown" : "Dave Jacoby",
- "name" : "Dave Jacoby",
- "y" : 3
+ "name" : "Dave Jacoby"
},
{
"y" : 2,
- "name" : "E. Choroba",
- "drilldown" : "E. Choroba"
+ "drilldown" : "E. Choroba",
+ "name" : "E. Choroba"
},
{
+ "y" : 5,
"drilldown" : "Javier Luque",
- "name" : "Javier Luque",
- "y" : 5
+ "name" : "Javier Luque"
},
{
+ "y" : 2,
"drilldown" : "Jorg Sommrey",
- "name" : "Jorg Sommrey",
- "y" : 2
+ "name" : "Jorg Sommrey"
},
{
- "drilldown" : "Leo Manfredi",
"name" : "Leo Manfredi",
- "y" : 1
+ "y" : 1,
+ "drilldown" : "Leo Manfredi"
},
{
"name" : "Luca Ferrari",
- "y" : 4,
- "drilldown" : "Luca Ferrari"
+ "drilldown" : "Luca Ferrari",
+ "y" : 4
},
{
"name" : "Mark Anderson",
@@ -90,50 +62,76 @@
},
{
"y" : 4,
- "name" : "Mohammad S Anwar",
- "drilldown" : "Mohammad S Anwar"
+ "drilldown" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar"
},
{
- "name" : "Niels van Dijke",
"y" : 2,
- "drilldown" : "Niels van Dijke"
+ "drilldown" : "Niels van Dijke",
+ "name" : "Niels van Dijke"
},
{
"name" : "Richard Hainsworth",
- "y" : 1,
- "drilldown" : "Richard Hainsworth"
+ "drilldown" : "Richard Hainsworth",
+ "y" : 1
},
{
- "name" : "Roger Bell_West",
+ "drilldown" : "Roger Bell_West",
"y" : 5,
- "drilldown" : "Roger Bell_West"
+ "name" : "Roger Bell_West"
},
{
- "drilldown" : "Sangeet Kar",
"name" : "Sangeet Kar",
+ "drilldown" : "Sangeet Kar",
"y" : 2
},
{
- "drilldown" : "Simon Proctor",
"name" : "Simon Proctor",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "Simon Proctor"
},
{
- "name" : "Ulrich Rieke",
"y" : 2,
- "drilldown" : "Ulrich Rieke"
+ "drilldown" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke"
},
{
- "drilldown" : "Wanderdoc",
"y" : 2,
+ "drilldown" : "Wanderdoc",
"name" : "Wanderdoc"
}
- ]
+ ],
+ "name" : "Perl Weekly Challenge - 064",
+ "colorByPoint" : 1
}
],
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
"drilldown" : {
"series" : [
{
+ "name" : "Arne Sommer",
+ "data" : [
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Arne Sommer"
+ },
+ {
+ "name" : "Bartosz Jarzyna",
"data" : [
[
"Perl",
@@ -144,12 +142,11 @@
1
]
],
- "id" : "Bartosz Jarzyna",
- "name" : "Bartosz Jarzyna"
+ "id" : "Bartosz Jarzyna"
},
{
- "id" : "Cheok-Yin Fung",
"name" : "Cheok-Yin Fung",
+ "id" : "Cheok-Yin Fung",
"data" : [
[
"Perl",
@@ -159,15 +156,16 @@
},
{
"id" : "Colin Crain",
- "name" : "Colin Crain",
"data" : [
[
"Blog",
1
]
- ]
+ ],
+ "name" : "Colin Crain"
},
{
+ "id" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -178,20 +176,21 @@
1
]
],
- "id" : "Dave Jacoby",
"name" : "Dave Jacoby"
},
{
+ "name" : "E. Choroba",
+ "id" : "E. Choroba",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "E. Choroba",
- "name" : "E. Choroba"
+ ]
},
{
+ "name" : "Javier Luque",
+ "id" : "Javier Luque",
"data" : [
[
"Perl",
@@ -205,13 +204,11 @@
"Blog",
1
]
- ],
- "name" : "Javier Luque",
- "id" : "Javier Luque"
+ ]
},
{
- "id" : "Jorg Sommrey",
"name" : "Jorg Sommrey",
+ "id" : "Jorg Sommrey",
"data" : [
[
"Perl",
@@ -220,17 +217,16 @@
]
},
{
+ "name" : "Leo Manfredi",
"data" : [
[
"Perl",
1
]
],
- "id" : "Leo Manfredi",
- "name" : "Leo Manfredi"
+ "id" : "Leo Manfredi"
},
{
- "name" : "Luca Ferrari",
"id" : "Luca Ferrari",
"data" : [
[
@@ -241,19 +237,21 @@
"Blog",
2
]
- ]
+ ],
+ "name" : "Luca Ferrari"
},
{
- "name" : "Mark Anderson",
- "id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ]
+ ],
+ "id" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
+ "name" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -268,30 +266,30 @@
1
]
],
- "id" : "Mohammad S Anwar",
- "name" : "Mohammad S Anwar"
+ "id" : "Mohammad S Anwar"
},
{
+ "id" : "Niels van Dijke",
"data" : [
[
"Perl",
2
]
],
- "name" : "Niels van Dijke",
- "id" : "Niels van Dijke"
+ "name" : "Niels van Dijke"
},
{
- "name" : "Richard Hainsworth",
"id" : "Richard Hainsworth",
"data" : [
[
"Raku",
1
]
- ]
+ ],
+ "name" : "Richard Hainsworth"
},
{
+ "name" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -306,49 +304,70 @@
1
]
],
- "id" : "Roger Bell_West",
- "name" : "Roger Bell_West"
+ "id" : "Roger Bell_West"
},
{
+ "name" : "Sangeet Kar",
"data" : [
[
"Raku",
2
]
],
- "id" : "Sangeet Kar",
- "name" : "Sangeet Kar"
+ "id" : "Sangeet Kar"
},
{
+ "name" : "Simon Proctor",
"data" : [
[
"Raku",
2
]
],
- "name" : "Simon Proctor",
"id" : "Simon Proctor"
},
{
+ "name" : "Ulrich Rieke",
"data" : [
[
"Perl",
2
]
],
- "id" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
+ "id" : "Ulrich Rieke"
},
{
+ "name" : "Wanderdoc",
+ "id" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
- ],
- "id" : "Wanderdoc",
- "name" : "Wanderdoc"
+ ]
}
]
+ },
+ "subtitle" : {
+ "text" : "[Champions: 19] Last updated at 2020-06-13 22:03:30 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"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "legend" : {
+ "enabled" : 0
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 064"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 982851dd8e..283292be39 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,10 +1,23 @@
{
"series" : [
{
+ "dataLabels" : {
+ "format" : "{point.y:.0f}",
+ "color" : "#FFFFFF",
+ "rotation" : -90,
+ "enabled" : "true",
+ "align" : "right",
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ },
+ "y" : 10
+ },
+ "name" : "Contributions",
"data" : [
[
"Blog",
- 738
+ 739
],
[
"Perl",
@@ -12,29 +25,25 @@
],
[
"Raku",
- 1687
+ 1689
]
- ],
- "dataLabels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- },
- "y" : 10,
- "color" : "#FFFFFF",
- "format" : "{point.y:.0f}",
- "align" : "right",
- "rotation" : -90,
- "enabled" : "true"
- },
- "name" : "Contributions"
+ ]
}
],
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ }
+ }
+ },
"subtitle" : {
- "text" : "Last updated at 2020-06-13 21:58:45 GMT"
+ "text" : "Last updated at 2020-06-13 22:03:30 GMT"
},
- "legend" : {
- "enabled" : "false"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
},
"yAxis" : {
"min" : 0,
@@ -45,17 +54,8 @@
"chart" : {
"type" : "column"
},
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- }
- },
- "tooltip" : {
-