aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-18 21:37:42 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-18 21:37:42 +0100
commit5591c195d742cc80dbed62db371f986909cf1e27 (patch)
treeb02e5150acb7a4501adbca6ce97ddd4b94cd31bc
parent35543f1c7b403dc1364cda86f88f902e525cdc1b (diff)
downloadperlweeklychallenge-club-5591c195d742cc80dbed62db371f986909cf1e27.tar.gz
perlweeklychallenge-club-5591c195d742cc80dbed62db371f986909cf1e27.tar.bz2
perlweeklychallenge-club-5591c195d742cc80dbed62db371f986909cf1e27.zip
- Added solutions by Arne Sommer.
-rw-r--r--challenge-056/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-056/arne-sommer/raku/ch-1.p622
-rwxr-xr-xchallenge-056/arne-sommer/raku/ch-2.p662
-rwxr-xr-xchallenge-056/arne-sommer/raku/diff-k21
-rwxr-xr-xchallenge-056/arne-sommer/raku/diff-k222
-rwxr-xr-xchallenge-056/arne-sommer/raku/path-sum48
-rwxr-xr-xchallenge-056/arne-sommer/raku/path-sum-conf64
-rwxr-xr-xchallenge-056/arne-sommer/raku/path-sum-conf262
-rwxr-xr-xchallenge-056/arne-sommer/raku/path-sum248
-rw-r--r--stats/pwc-current.json161
-rw-r--r--stats/pwc-language-breakdown-summary.json50
-rw-r--r--stats/pwc-language-breakdown.json806
-rw-r--r--stats/pwc-leaders.json732
-rw-r--r--stats/pwc-summary-1-30.json114
-rw-r--r--stats/pwc-summary-121-150.json90
-rw-r--r--stats/pwc-summary-151-180.json38
-rw-r--r--stats/pwc-summary-31-60.json112
-rw-r--r--stats/pwc-summary-61-90.json114
-rw-r--r--stats/pwc-summary-91-120.json42
-rw-r--r--stats/pwc-summary.json32
20 files changed, 1505 insertions, 1136 deletions
diff --git a/challenge-056/arne-sommer/blog.txt b/challenge-056/arne-sommer/blog.txt
new file mode 100644
index 0000000000..e29758f20c
--- /dev/null
+++ b/challenge-056/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/diff-sum.html
diff --git a/challenge-056/arne-sommer/raku/ch-1.p6 b/challenge-056/arne-sommer/raku/ch-1.p6
new file mode 100755
index 0000000000..8ad3262ae5
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/ch-1.p6
@@ -0,0 +1,22 @@
+#! /usr/bin/env raku
+
+subset PositiveInt0 of Int where * >= 0;
+subset PositiveInt of Int where * >= 1;
+
+unit sub MAIN (PositiveInt0 $k where $k >= 0, *@array where @array.elems > 1 && all(@array) ~~ PositiveInt, :$verbose);
+
+my $last = @array.end;
+
+die "Array @array[] is not sorted." unless [<=] @array;
+
+say ": Diff: $k" if $verbose;
+
+for 0 .. $last -> $j
+{
+ for $j +1 .. $last -> $i
+ {
+ say ": I:$i (@array[$i]) -> J:$j (@array[$j])" if $verbose;
+ say "$i, $j" if @array[$i] - @array[$j] == $k;
+ last if @array[$i] - @array[$j] > $k;
+ }
+}
diff --git a/challenge-056/arne-sommer/raku/ch-2.p6 b/challenge-056/arne-sommer/raku/ch-2.p6
new file mode 100755
index 0000000000..6c7a51a354
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/ch-2.p6
@@ -0,0 +1,62 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int :$sum = 22, Str :$tree = "5 | 4 8 | 11 * 13 9 | 7 2 * * * 1", :$verbose);
+
+class BinaryNode
+{
+ has Int $.value;
+ has BinaryNode $.left;
+ has BinaryNode $.right;
+}
+
+my @btree = $tree.split("|")>>.words;
+
+my @old-nodes;
+my @new-nodes;
+
+for @btree.reverse -> $row
+{
+ my @current = @$row;
+ @old-nodes = @new-nodes;
+ @new-nodes = ();
+
+ for @current -> $value
+ {
+ if $value eq "*"
+ {
+ @new-nodes.push("*");
+ next;
+ }
+
+ my $left = @old-nodes.shift // "*"; $left = Nil if $left eq "*";
+ my $right = @old-nodes.shift // "*"; $right = Nil if $right eq "*";
+
+ @new-nodes.push(BinaryNode.new(value => $value.Int,
+ left => $left // Nil,
+ right => $right // Nil));
+ }
+}
+
+my $btree = @new-nodes[0];
+
+say $btree, "\n" if $verbose;
+
+traverse($btree, $sum, ());
+
+sub traverse ($current, $target-sum, @path is copy)
+{
+ if ($current.left or $current.right)
+ {
+ @path.push: $current.value;
+
+ traverse($current.left, $target-sum, @path) if $current.left;
+ traverse($current.right, $target-sum, @path) if $current.right;
+ }
+ else
+ {
+ @path.push: $current.value;
+ say ": " ~ @path.join(" -> ") if $verbose;
+ say @path.join(" -> ") if @path.sum == $target-sum;
+ return;
+ }
+}
diff --git a/challenge-056/arne-sommer/raku/diff-k b/challenge-056/arne-sommer/raku/diff-k
new file mode 100755
index 0000000000..d17c535ff4
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/diff-k
@@ -0,0 +1,21 @@
+#! /usr/bin/env raku
+
+subset PositiveInt0 of Int where * >= 0;
+subset PositiveInt of Int where * >= 1;
+
+unit sub MAIN (PositiveInt0 $k where $k >= 0, *@array where @array.elems > 1 && all(@array) ~~ PositiveInt, :$verbose);
+
+my $last = @array.end;
+
+die "Array @array[] is not sorted." unless [<=] @array;
+
+say ": Diff: $k" if $verbose;
+
+for 0 .. $last -> $j
+{
+ for $j +1 .. $last -> $i
+ {
+ say ": I:$i (@array[$i]) -> J:$j (@array[$j])" if $verbose;
+ say "$i, $j" if @array[$i] - @array[$j] == $k;
+ }
+}
diff --git a/challenge-056/arne-sommer/raku/diff-k2 b/challenge-056/arne-sommer/raku/diff-k2
new file mode 100755
index 0000000000..8ad3262ae5
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/diff-k2
@@ -0,0 +1,22 @@
+#! /usr/bin/env raku
+
+subset PositiveInt0 of Int where * >= 0;
+subset PositiveInt of Int where * >= 1;
+
+unit sub MAIN (PositiveInt0 $k where $k >= 0, *@array where @array.elems > 1 && all(@array) ~~ PositiveInt, :$verbose);
+
+my $last = @array.end;
+
+die "Array @array[] is not sorted." unless [<=] @array;
+
+say ": Diff: $k" if $verbose;
+
+for 0 .. $last -> $j
+{
+ for $j +1 .. $last -> $i
+ {
+ say ": I:$i (@array[$i]) -> J:$j (@array[$j])" if $verbose;
+ say "$i, $j" if @array[$i] - @array[$j] == $k;
+ last if @array[$i] - @array[$j] > $k;
+ }
+}
diff --git a/challenge-056/arne-sommer/raku/path-sum b/challenge-056/arne-sommer/raku/path-sum
new file mode 100755
index 0000000000..648078d497
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/path-sum
@@ -0,0 +1,48 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:$verbose);
+
+class BinaryNode
+{
+ has Int $.value;
+ has BinaryNode $.left;
+ has BinaryNode $.right;
+}
+
+my BinaryNode $tree
+ = BinaryNode.new(value => 5,
+ left => BinaryNode.new(value => 4,
+ left => BinaryNode.new(value => 11,
+ left => BinaryNode.new(value => 7),
+ right => BinaryNode.new(value => 2)
+ )
+ ),
+ right => BinaryNode.new(value => 8,
+ left => BinaryNode.new(value => 13),
+ right => BinaryNode.new(value => 9,
+ right => BinaryNode.new(value => 1)
+ )
+ )
+ );
+
+say $tree, "\n" if $verbose;
+
+traverse($tree, 22, ());
+
+sub traverse ($current, $target-sum, @path is copy)
+{
+ if ($current.left or $current.right)
+ {
+ @path.push: $current;
+
+ traverse($current.left, $target-sum, @path) if $current.left;
+ traverse($current.right, $target-sum, @path) if $current.right;
+ }
+ else
+ {
+ @path.push: $current;
+ say ": " ~ @path>>.value.join(" -> ") if $verbose;
+ say @path>>.value.join(" -> ") if @path>>.value.sum == $target-sum;
+ return;
+ }
+}
diff --git a/challenge-056/arne-sommer/raku/path-sum-conf b/challenge-056/arne-sommer/raku/path-sum-conf
new file mode 100755
index 0000000000..3fea0b5d93
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/path-sum-conf
@@ -0,0 +1,64 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $sum = 22, :$verbose);
+
+class BinaryNode
+{
+ has Int $.value;
+ has BinaryNode $.left;
+ has BinaryNode $.right;
+}
+
+my @btree = ( 5, (4, 8), (11, *, 13, 9), (7, 2, *, *, *, 1) );
+
+my @old-nodes;
+my @new-nodes;
+
+for @btree.reverse -> $row
+{
+ my @current = @$row;
+ @old-nodes = @new-nodes;
+ @new-nodes = ();
+
+ for @current -> $value
+ {
+ if $value eq "*"
+ {
+ @new-nodes.push("*");
+ next;
+ }
+
+ my $left = @old-nodes.shift // "*"; $left = Nil if $left eq "*";
+ my $right = @old-nodes.shift // "*"; $right = Nil if $right eq "*";
+
+ # say "Left: { $left | Right: $right";
+
+ @new-nodes.push(BinaryNode.new(value => $value,
+ left => $left // Nil,
+ right => $right // Nil));
+ }
+}
+
+my $tree = @new-nodes[0];
+
+say $tree, "\n" if $verbose;
+
+traverse($tree, $sum, ());
+
+sub traverse ($current, $target-sum, @path is copy)
+{
+ if ($current.left or $current.right)
+ {
+ @path.push: $current.value;
+
+ traverse($current.left, $target-sum, @path) if $current.left;
+ traverse($current.right, $target-sum, @path) if $current.right;
+ }
+ else
+ {
+ @path.push: $current.value;
+ say ": " ~ @path.join(" -> ") if $verbose;
+ say @path.join(" -> ") if @path.sum == $target-sum;
+ return;
+ }
+}
diff --git a/challenge-056/arne-sommer/raku/path-sum-conf2 b/challenge-056/arne-sommer/raku/path-sum-conf2
new file mode 100755
index 0000000000..6c7a51a354
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/path-sum-conf2
@@ -0,0 +1,62 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int :$sum = 22, Str :$tree = "5 | 4 8 | 11 * 13 9 | 7 2 * * * 1", :$verbose);
+
+class BinaryNode
+{
+ has Int $.value;
+ has BinaryNode $.left;
+ has BinaryNode $.right;
+}
+
+my @btree = $tree.split("|")>>.words;
+
+my @old-nodes;
+my @new-nodes;
+
+for @btree.reverse -> $row
+{
+ my @current = @$row;
+ @old-nodes = @new-nodes;
+ @new-nodes = ();
+
+ for @current -> $value
+ {
+ if $value eq "*"
+ {
+ @new-nodes.push("*");
+ next;
+ }
+
+ my $left = @old-nodes.shift // "*"; $left = Nil if $left eq "*";
+ my $right = @old-nodes.shift // "*"; $right = Nil if $right eq "*";
+
+ @new-nodes.push(BinaryNode.new(value => $value.Int,
+ left => $left // Nil,
+ right => $right // Nil));
+ }
+}
+
+my $btree = @new-nodes[0];
+
+say $btree, "\n" if $verbose;
+
+traverse($btree, $sum, ());
+
+sub traverse ($current, $target-sum, @path is copy)
+{
+ if ($current.left or $current.right)
+ {
+ @path.push: $current.value;
+
+ traverse($current.left, $target-sum, @path) if $current.left;
+ traverse($current.right, $target-sum, @path) if $current.right;
+ }
+ else
+ {
+ @path.push: $current.value;
+ say ": " ~ @path.join(" -> ") if $verbose;
+ say @path.join(" -> ") if @path.sum == $target-sum;
+ return;
+ }
+}
diff --git a/challenge-056/arne-sommer/raku/path-sum2 b/challenge-056/arne-sommer/raku/path-sum2
new file mode 100755
index 0000000000..4cec8cddee
--- /dev/null
+++ b/challenge-056/arne-sommer/raku/path-sum2
@@ -0,0 +1,48 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:$verbose);
+
+class BinaryNode
+{
+ has Int $.value;
+ has BinaryNode $.left;
+ has BinaryNode $.right;
+}
+
+my BinaryNode $tree
+ = BinaryNode.new(value => 5,
+ left => BinaryNode.new(value => 4,
+ left => BinaryNode.new(value => 11,
+ left => BinaryNode.new(value => 7),
+ right => BinaryNode.new(value => 2)
+ )
+ ),
+ right => BinaryNode.new(value => 8,
+ left => BinaryNode.new(value => 13),
+ right => BinaryNode.new(value => 9,
+ right => BinaryNode.new(value => 1)
+ )
+ )
+ );
+
+say $tree, "\n" if $verbose;
+
+traverse($tree, 22, ());
+
+sub traverse ($current, $target-sum, @path is copy)
+{
+ if ($current.left or $current.right)
+ {
+ @path.push: $current.value;
+
+ traverse($current.left, $target-sum, @path) if $current.left;
+ traverse($current.right, $target-sum, @path) if $current.right;
+ }
+ else
+ {
+ @path.push: $current.value;
+ say ": " ~ @path.join(" -> ") if $verbose;
+ say @path.join(" -> ") if @path.sum == $target-sum;
+ return;
+ }
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index dd8f7f7f7c..b827ee630a 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,12 +1,38 @@
{
+ "xAxis" : {
+ "type" : "category"
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 056"
+ },
+ "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 - 056",
"data" : [
{
+ "y" : 2,
"drilldown" : "Andrezgz",
- "name" : "Andrezgz",
- "y" : 2
+ "name" : "Andrezgz"
+ },
+ {
+ "y" : 3,
+ "name" : "Arne Sommer",
+ "drilldown" : "Arne Sommer"
},
{
"drilldown" : "Cheok-Yin Fung",
@@ -14,19 +40,19 @@
"y" : 1
},
{
- "y" : 1,
"drilldown" : "Cristina Heredia",
- "name" : "Cristina Heredia"
+ "name" : "Cristina Heredia",
+ "y" : 1
},
{
- "y" : 3,
"drilldown" : "Dave Jacoby",
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "y" : 3
},
{
+ "y" : 2,
"drilldown" : "E. Choroba",
- "name" : "E. Choroba",
- "y" : 2
+ "name" : "E. Choroba"
},
{
"y" : 5,
@@ -34,9 +60,9 @@
"drilldown" : "Javier Luque"
},
{
+ "y" : 2,
"drilldown" : "Kevin Colyer",
- "name" : "Kevin Colyer",
- "y" : 2
+ "name" : "Kevin Colyer"
},
{
"y" : 5,
@@ -49,9 +75,9 @@
"name" : "Lubos Kolouch"
},
{
+ "y" : 4,
"drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari",
- "y" : 4
+ "name" : "Luca Ferrari"
},
{
"name" : "Mark Anderson",
@@ -64,19 +90,19 @@
"y" : 2
},
{
- "y" : 3,
+ "name" : "Matthew Somerville",
"drilldown" : "Matthew Somerville",
- "name" : "Matthew Somerville"
+ "y" : 3
},
{
- "name" : "Mohammad S Anwar",
"drilldown" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar",
"y" : 4
},
{
+ "y" : 3,
"drilldown" : "Roger Bell West",
- "name" : "Roger Bell West",
- "y" : 3
+ "name" : "Roger Bell West"
},
{
"y" : 2,
@@ -84,26 +110,18 @@
"name" : "Simon Proctor"
},
{
- "y" : 1,
"name" : "Wanderdoc",
- "drilldown" : "Wanderdoc"
+ "drilldown" : "Wanderdoc",
+ "y" : 1
}
- ],
- "name" : "Perl Weekly Challenge - 056"
+ ]
}
],
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
}
},
- "xAxis" : {
- "type" : "category"
- },
"drilldown" : {
"series" : [
{
@@ -113,28 +131,42 @@
2
]
],
- "id" : "Andrezgz",
- "name" : "Andrezgz"
+ "name" : "Andrezgz",
+ "id" : "Andrezgz"
},
{
+ "name" : "Arne Sommer",
+ "data" : [
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Arne Sommer"
+ },
+ {
+ "name" : "Cheok-Yin Fung",
"data" : [
[
"Perl",
1
]
],
- "id" : "Cheok-Yin Fung",
- "name" : "Cheok-Yin Fung"
+ "id" : "Cheok-Yin Fung"
},
{
"id" : "Cristina Heredia",
+ "name" : "Cristina Heredia",
"data" : [
[
"Perl",
1
]
- ],
- "name" : "Cristina Heredia"
+ ]
},
{
"id" : "Dave Jacoby",
@@ -161,6 +193,7 @@
"name" : "E. Choroba"
},
{
+ "name" : "Javier Luque",
"data" : [
[
"Perl",
@@ -175,21 +208,19 @@
1
]
],
- "id" : "Javier Luque",
- "name" : "Javier Luque"
+ "id" : "Javier Luque"
},
{
- "name" : "Kevin Colyer",
+ "id" : "Kevin Colyer",
"data" : [
[
"Raku",
2
]
],
- "id" : "Kevin Colyer"
+ "name" : "Kevin Colyer"
},
{
- "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -204,19 +235,22 @@
1
]
],
+ "name" : "Laurent Rosenfeld",
"id" : "Laurent Rosenfeld"
},
{
- "id" : "Lubos Kolouch",
"data" : [
[
"Perl",
2
]
],
- "name" : "Lubos Kolouch"
+ "name" : "Lubos Kolouch",
+ "id" : "Lubos Kolouch"
},
{
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -226,9 +260,7 @@
"Blog",
2
]
- ],
- "id" : "Luca Ferrari",
- "name" : "Luca Ferrari"
+ ]
},
{
"name" : "Mark Anderson",
@@ -245,16 +277,18 @@
"id" : "Mark Anderson"
},
{
+ "name" : "Markus Holzer",
"data" : [
[
"Raku",
2
]
],
- "id" : "Markus Holzer",
- "name" : "Markus Holzer"
+ "id" : "Markus Holzer"
},
{
+ "id" : "Matthew Somerville",
+ "name" : "Matthew Somerville",
"data" : [
[
"Perl",
@@ -264,12 +298,11 @@
"Blog",
1
]
- ],
- "id" : "Matthew Somerville",
- "name" : "Matthew Somerville"
+ ]
},
{
"id" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -279,11 +312,10 @@
"Raku",
2
]
- ],
- "name" : "Mohammad S Anwar"
+ ]
},
{
- "name" : "Roger Bell West",
+ "id" : "Roger Bell West",
"data" : [
[
"Perl",
@@ -294,7 +326,7 @@
1
]
],
- "id" : "Roger Bell West"
+ "name" : "Roger Bell West"
},
{
"id" : "Simon Proctor",
@@ -318,25 +350,12 @@
}
]
},
- "title" : {
- "text" : "Perl Weekly Challenge - 056"
+ "subtitle" : {
+ "text" : "[Champions: 18] Last updated at 2020-04-18 20:37:10 GMT"
},
"chart" : {
"type" : "column"
},
- "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/>"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "subtitle" : {
- "text" : "[Champions: 17] Last updated at 2020-04-18 20:26:09 GMT"
- },
"legend" : {
"enabled" : 0
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 7349f6cf8d..7352ddd93b 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -5,46 +5,34 @@
"text" : null
}
},
+ "subtitle" : {
+ "text" : "Last updated at 2020-04-18 20:37:10 GMT"
+ },
"chart" : {
"type" : "column"
},
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
"legend" : {
"enabled" : "false"
},
- "subtitle" : {
- "text" : "Last updated at 2020-04-18 20:26:09 GMT"
- },
"xAxis" : {
+ "type" : "category",
"labels" : {
"style" : {
"fontFamily" : "Verdana, sans-serif",
"fontSize" : "13px"
}
- },
- "type" : "category"
+ }
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
},
"series" : [
{
- "dataLabels" : {
- "rotation" : -90,
- "y" : 10,
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- },
- "color" : "#FFFFFF",
- "enabled" : "true",
- "align" : "right",
- "format" : "{point.y:.0f}"
- },
"name" : "Contributions",
"data" : [
[
"Blog",
- 617
+ 618
],
[
"Perl",
@@ -52,12 +40,24 @@
],
[
"Raku",
- 1481
+ 1483
]
- ]
+ ],
+ "dataLabels" : {
+ "format" : "{point.y:.0f}",
+ "y" : 10,
+ "color" : "#FFFFFF",
+ "style" : {
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
+ },
+ "align" : "right",
+ "enabled" : "true",
+ "rotation" : -90
+ }
}
],
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 67094b3e0f..4ef355f35e 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,4 +1,318 @@
{
+ "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/>"
+ },
+ "series" : [
+ {
+ "colorByPoint" : "true",
+ "data" : [
+ {
+ "y" : 140,
+ "name" : "#001",
+ "drilldown" : "001"
+ },
+ {
+ "y" : 109,
+ "name" : "#002",
+ "drilldown" : "002"
+ },
+ {
+ "drilldown" : "003",
+ "name" : "#003",
+ "y" : 71
+ },
+ {
+ "y" : 91,
+ "name" : "#004",
+ "drilldown" : "004"
+ },
+ {
+ "drilldown" : "005",
+ "name" : "#005",
+ "y" : 71
+ },
+ {
+ "drilldown" : "006",
+ "name" : "#006",
+ "y" : 52
+ },
+ {
+ "y" : 58,
+ "name" : "#007",
+ "drilldown" : "007"
+ },
+ {
+ "y" : 70,
+ "drilldown" : "008",
+ "name" : "#008"
+ },
+ {
+ "y" : 68,
+ "name" : "#009",
+ "drilldown" : "009"
+ },
+ {
+ "y" : 60,
+ "name" : "#010",
+ "drilldown" : "010"
+ },
+ {
+ "y" : 79,
+ "drilldown" : "011",
+ "name" : "#011"
+ },
+ {
+ "y" : 83,
+ "drilldown" : "012",
+ "name" : "#012"
+ },
+ {
+ "drilldown" : "013",
+ "name" : "#013",
+ "y" : 76
+ },
+ {
+ "name" : "#014",
+ "drilldown" : "014",
+ "y" : 96
+ },
+ {
+ "y" : 93,
+ "drilldown" : "015",
+ "name" : "#015"
+ },
+ {
+ "y" : 66,
+ "name" : "#016",
+ "drilldown" : "016"
+ },
+ {
+ "name" : "#017",
+ "drilldown" : "017",
+ "y" : 79
+ },
+ {
+ "drilldown" : "018",
+ "name" : "#018",
+ "y" : 76
+ },
+ {
+ "name" : "#019",
+ "drilldown" : "019",
+ "y" : 97
+ },
+ {
+ "y" : 95,
+ "name" : "#020",
+ "drilldown" : "020"
+ },
+ {
+ "name" : "#021",
+ "drilldown" : "021",
+ "y" : 67
+ },
+ {
+ "drilldown" : "022",
+ "name" : "#022",
+ "y" : 63
+ },
+ {
+ "drilldown" : "023",
+ "name" : "#023",
+ "y" : 91
+ },
+ {
+ "y" : 70,
+ "name" : "#024",
+ "drilldown" : "024"
+ },
+ {
+ "drilldown" : "025",
+ "name" : "#025",
+ "y" : 55
+ },
+ {
+ "y" : 70,
+ "name" : "#026",
+ "drilldown" : "026"
+ },
+ {
+ "y" : 58,
+ "name" : "#027",
+ "drilldown" : "027"
+ },
+ {
+ "y" : 78,
+ "name" : "#028",
+ "drilldown" : "028"
+ },
+ {
+ "y" : 77,