diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-01-02 04:57:01 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-01-02 04:57:01 +0000 |
| commit | 5d3aa9b2255c96c148cedb5a2df5aa113fe70520 (patch) | |
| tree | 25feac396555cdd0f850dd6fb48c28998046522f | |
| parent | 73a4d4e1018d40d59b31f7acbe493d60916d96dc (diff) | |
| download | perlweeklychallenge-club-5d3aa9b2255c96c148cedb5a2df5aa113fe70520.tar.gz perlweeklychallenge-club-5d3aa9b2255c96c148cedb5a2df5aa113fe70520.tar.bz2 perlweeklychallenge-club-5d3aa9b2255c96c148cedb5a2df5aa113fe70520.zip | |
- Added solutions by Colin Crain.
| -rw-r--r-- | challenge-197/colin-crain/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-197/colin-crain/perl/ch-1.pl | 61 | ||||
| -rwxr-xr-x | challenge-197/colin-crain/perl/ch-2.pl | 205 | ||||
| -rw-r--r-- | stats/pwc-current.json | 487 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 46 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 2738 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 752 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 102 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 26 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 18 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 118 | ||||
| -rw-r--r-- | stats/pwc-summary-271-300.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 26 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 616 |
18 files changed, 2881 insertions, 2595 deletions
diff --git a/challenge-197/colin-crain/blog.txt b/challenge-197/colin-crain/blog.txt new file mode 100644 index 0000000000..38c56c3361 --- /dev/null +++ b/challenge-197/colin-crain/blog.txt @@ -0,0 +1 @@ +https://colincrain.com/2023/01/02/add-a-little-wiggle-room diff --git a/challenge-197/colin-crain/perl/ch-1.pl b/challenge-197/colin-crain/perl/ch-1.pl new file mode 100755 index 0000000000..4ab94a4356 --- /dev/null +++ b/challenge-197/colin-crain/perl/ch-1.pl @@ -0,0 +1,61 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl
+#
+# move-zero.pl
+#
+# Move Zero
+# Submitted by: Mohammad S Anwar
+#
+# You are given a list of integers, @list.
+#
+# Write a script to move all zero, if exists, to the end while
+# maintaining the relative order of non-zero elements.
+#
+#
+# Example 1
+# Input: @list = (1, 0, 3, 0, 0, 5)
+# Output: (1, 3, 5, 0, 0, 0)
+#
+# Example 2
+# Input: @list = (1, 6, 4)
+# Output: (1, 6, 4)
+#
+# Example 3
+# Input: @list = (0, 1, 0, 2, 0
+# Output: (1, 2, 0, 0, 0)
+#
+# © 2022 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use utf8;
+use feature ":5.26";
+use feature qw(signatures);
+no warnings 'experimental::signatures';
+
+
+
+my @input = (1,0,0,4,5,0,7);
+say "input: @input";
+
+
+my $idx;
+my $limit = $#input;
+
+while (++$idx < $limit) {
+ if ($input[$idx] == 0) {
+ push @input, (splice @input, $idx, 1);
+ $idx--;
+ $limit--;
+ }
+}
+
+say "output: @input";
+
+
+
+
+
+
diff --git a/challenge-197/colin-crain/perl/ch-2.pl b/challenge-197/colin-crain/perl/ch-2.pl new file mode 100755 index 0000000000..d48f626d13 --- /dev/null +++ b/challenge-197/colin-crain/perl/ch-2.pl @@ -0,0 +1,205 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl
+#
+# wiggling-out-of-trouble.pl
+#
+# Wiggle Sort
+# Submitted by: Mohammad S Anwar
+# You are given a list of integers, @list.
+#
+# Write a script to perform Wiggle Sort on the given list.
+#
+#
+# Wiggle sort would be such as
+# list[0] < list[1] > list[2] < list[3]….
+#
+#
+# Example 1
+# Input: @list = (1,5,1,1,6,4)
+# Output: (1,6,1,5,1,4)
+#
+# Example 2
+# Input: @list = (1,3,2,2,3,1)
+# Output: (2,3,1,3,1,2)
+#
+#
+# method
+#
+# What is a wiggle sort? Beyond the immediate series of
+# conditionals that need apply the actual final sequencing seems
+# prety undefined. For example, there are a number of valid
+# solutions for the first example in addition to the one given,
+# such as (1,4,1,5,1,6) and (1,5,1,4,1,6). In fact there are six,
+# and no method is defined to select a single solution.
+#
+# Further, from the same example multiple occurances of a value are
+# obviously allowed, but no provision is made for when no valid
+# wiggle ordering can be made. Consider, for instance, a list
+# (2,2,2,2,2). We can plainly see that as no value is greater than
+# any other no solution exists that will satisfy the very first
+# conditional we come across: the second element must be greater
+# than the first.
+#
+# I believe if the values were unique we could determine there
+# would exist at minimum one solution for every array. But this is
+# not the case, determining whether an array is solvable at all is
+# not obvious. Can we narrow this down?
+#
+# If more than ceiling(length/2) elements are the same we will run
+# out of elements to alternate and be forced into a run of adjacent
+# equal values, so that won't work. It might be true that any array
+# satisfying this condition can be made to work.
+#
+# 1,1,1,0,0 cannot work because 0,1,0,1,1 is the only progression
+# going from left to right and it fails at the last element.
+#
+# 1,1,1,0,2 -> no solution, starting from either 0 or 1
+# 1,1,1,2,2 -> 1,2,1,2,1 as the over-half multiple is the smallest
+# 1,1,2,0,0 -> 1,2,0,1,0 or 0,1,0,2,1
+# 1,1,2,2,0 -> 1,2,0,2,1 or 0,2,1,2,0
+#
+# how about 6?
+#
+# 1,2,2,2,3,4 -> 2,3,2,4,1,2 two above, one below
+# 1,1,2,2,2,4 -> 2,4,1,2,1,2 one above, two below
+# 4,4,4,2,2,1 -> 1,4,2,4,2,4 all below
+#
+# it seems the multiple count of a single value can only be larger
+# than floor(length/2) if it is the smallest value, but can be up
+# to and including half the elements placed anywhere. I believe
+# this logic applies downwards as well, meaning divisions smaller
+# than one-half can all be accomodated.
+#
+# I believe, then, if we have no element count over one-half the
+# total elements, or if the count of the most numerous element is
+# ceiling(length/2) and the value in question is the smallest
+# value, then that exists a valid solution.
+#
+# Note the ceiling will only apply when there are an odd number of
+# elements, and we will start with the multiple and alternate the
+# other, higher values in any ordering to create a valid
+# wigglesort. This is obviously an edge case.
+#
+# Multiple elements need to be separated, so if we sort the arrant
+# and divide it into two halves we can pick alternately from either
+# the head or tail from both halves we can create wigglesorts if we
+# are consistent with our choice. This sequential action of
+# alternately taking the same indexed elements from two arrays is
+# sometimes called zipping.
+#
+# We can still get into trouble with an overlapping multiple in the
+# middle. This will determine whether we zip from the head or the
+# tail.
+#
+# Consider (1,2,3,4,2,2,5,2):
+#
+# Sorted and split we get:
+# (1,2,2,2) and (2,3,4,5)
+#
+# head -> (1,2), (2,3), (2,4), (2,5) does not work
+# tail -> (2,5), (2,4), (2,3), (1,2) works
+#
+# So if the multiple in the lower half is more than half that
+# subarray length we will need to start in reverse from the tails,
+# otherwise we can use the heads.
+#
+# Finally, though, in hindsight why even do this last step? There's
+# nothing inherent in the idea of a wigglesort that the result is
+# lexicographically ascending, or even coherent. There's no reason
+# to go from low to high. The problem in the edge case I
+# constructed is that a run of multiples in the middle can overlap
+# if we start from the heads of the subarray halves. Selecting from
+# the tail first separates the overlap, moving the interfering
+# values towards the ends, away from each other.
+#
+# So why not do this always and just be done with it? No particular
+# wigglesort is better than any other. So lets do that. Out with
+# the `no_duplicates()` sub and ant attemot to sort from the heads.
+# This tightens things up rather well. And our `zip()` subroutine
+# might as well be rolled into its `wigglezip()` wrapper.
+#
+# I get the feeling some important information was left out of this
+# description. But I feel this should give us a satisfactory
+# algorithm for finding one valid solution for every array that can
+# have one.
+#
+#
+# © 2022 colin crain
+## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
+
+
+
+use warnings;
+use strict;
+use utf8;
+use feature ":5.26";
+use feature qw(signatures);
+no warnings 'experimental::signatures';
+
+my @input = @ARGV
+ ? @ARGV
+ : (6,4,4,7,4,4,1,8,5,4);
+say "input: @input";
+
+@input = sort {$a<=>$b} @input;
+my @small = @input[0..(@input+1)/2-1]; ## up to ceiling
+my @large = @input[(@input+1)/2..@input-1]; ## rest of array
+
+unless ( has_solution(\@input) ) {
+ say "no solution possible" and exit;
+}
+say "sorted: ", join ' ', wigglezip( \@small, \@large )->@*;
+
+sub has_solution ( $arr ) {
+## checks to see no element is duplicated more than one-half the total
+## length, or the ceiling under the specific circumstance that it is the
+## smallest value in the set
+ my %freq;
+ $freq{$_}++ for $arr->@*;
+ my @range = sort {$b<=>$a} values %freq;
+ return 1 if $range[0] <= scalar($arr->@* )/ 2; ## highest freq value
+ if ($range[0] == int( ($arr->@* + 1)/2 )) { ## ceiling
+ my ($multiple) = grep { $freq{$_} == $range[0] } keys %freq;
+ if ( min( keys %freq ) == $multiple ) {
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+sub wigglezip ($aref1, $aref2) {
+## zip two arrays from head if this makes a valid wigglesort, else reverse
+## the arrays and zip, resulting with a zip from tails backwards
+ my @low = reverse $aref1->@*;
+ my @high = reverse $aref2->@*;
+ my @zipped;
+
+ for (0..$#low) {
+ push @zipped, $low[$_];
+ push @zipped, $high[$_] unless $_ > $#high; ;
+ }
+
+ return \@zipped;
+}
+
+# sub zip ($aref1, $aref2) {
+# ## nondestructively zip two array references, if array are unequal length
+# ## first is longer
+# my @zipped;
+# for (0..$aref1->$#*) {
+# push @zipped, $aref1->[$_];
+# push @zipped, $aref2->[$_] unless $_ > $aref2->$#* ;
+# }
+# return \@zipped;
+# }
+
+# sub no_duplicates ($arr) {
+# ## check to see if an array does not contain any adjacent duplicated values
+# ## in sequence
+# # say "last |$arr->@*| ", scalar $arr->@*;
+# for (0...($arr->$#*-1)) {
+# # say "idx $_";
+# return 0 if $arr->[$_] == $arr->[$_+1];
+# }
+# return 1;
+# }
diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 4518e40433..8b6e0c4196 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,192 +1,9 @@ { - "series" : [ - { - "name" : "The Weekly Challenge - 197", - "data" : [ - { - "y" : 2, - "drilldown" : "Adam Russell", - "name" : "Adam Russell" - }, - { - "y" : 4, - "drilldown" : "Ali Moradi", - "name" : "Ali Moradi" - }, - { - "y" : 3, - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "y" : 4, - "drilldown" : "Athanasius", - "name" : "Athanasius" - }, - { - "drilldown" : "Bob Lied", - "y" : 2, - "name" : "Bob Lied" - }, - { - "name" : "Bruce Gray", - "drilldown" : "Bruce Gray", - "y" : 2 - }, - { - "drilldown" : "Carlos Oliveira", - "y" : 2, - "name" : "Carlos Oliveira" - }, - { - "name" : "Cheok-Yin Fung", - "y" : 2, - "drilldown" : "Cheok-Yin Fung" - }, - { - "name" : "Dave Jacoby", - "y" : 2, - "drilldown" : "Dave Jacoby" - }, - { - "name" : "David Ferrone", - "drilldown" : "David Ferrone", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "E. Choroba", - "name" : "E. Choroba" - }, - { - "y" : 2, - "drilldown" : "Feng Chang", - "name" : "Feng Chang" - }, - { - "name" : "Flavio Poletti", - "y" : 6, - "drilldown" : "Flavio Poletti" - }, - { - "drilldown" : "James Smith", - "y" : 3, - "name" : "James Smith" - }, - { - "y" : 2, - "drilldown" : "Jan Krnavek", - "name" : "Jan Krnavek" - }, - { - "name" : "Jorg Sommrey", - "y" : 2, - "drilldown" : "Jorg Sommrey" - }, - { - "drilldown" : "Laurent Rosenfeld", - "y" : 5, - "name" : "Laurent Rosenfeld" - }, - { - "y" : 8, - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "drilldown" : "Niels van Dijke", - "y" : 2, - "name" : "Niels van Dijke" - }, - { - "drilldown" : "Pip Stuart", - "y" : 2, - "name" : "Pip Stuart" - }, - { - "name" : "Robbie Hatley", - "y" : 3, - "drilldown" : "Robbie Hatley" - }, - { - "y" : 2, - "drilldown" : "Robert DiCicco", - "name" : "Robert DiCicco" - }, - { - "name" : "Robert Ransbottom", - "drilldown" : "Robert Ransbottom", - "y" : 2 - }, - { - "drilldown" : "Roger Bell_West", - "y" : 4, - "name" : "Roger Bell_West" - }, - { - "drilldown" : "Simon Green", - "y" : 3, - "name" : "Simon Green" - }, - { - "drilldown" : "Stephen G. Lynn", - "y" : 5, - "name" : "Stephen G. Lynn" - }, - { - "name" : "Thomas Kohler", - "y" : 4, - "drilldown" : "Thomas Kohler" - }, - { - "name" : "Ulrich Rieke", - "y" : 4, - "drilldown" : "Ulrich Rieke" - }, - { - "y" : 3, - "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" - } - ], - "colorByPoint" : 1 - } - ], "title" : { "text" : "The Weekly Challenge - 197" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "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/>" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "legend" : { - "enabled" : 0 - }, - "xAxis" : { - "type" : "category" - }, "subtitle" : { - "text" : "[Champions: 30] Last updated at 2023-01-02 03:56:19 GMT" + "text" : "[Champions: 31] Last updated at 2023-01-02 04:53:27 GMT" }, "drilldown" : { "series" : [ @@ -229,6 +46,8 @@ ] }, { + "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -238,9 +57,7 @@ "Raku", 2 ] - ], - "id" : "Athanasius", - "name" : "Athanasius" + ] }, { "data" : [ @@ -263,8 +80,8 @@ ] }, { - "id" : "Carlos Oliveira", "name" : "Carlos Oliveira", + "id" : "Carlos Oliveira", "data" : [ [ "Perl", @@ -273,8 +90,8 @@ ] }, { - "name" : "Cheok-Yin Fung", "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -283,28 +100,42 @@ ] }, { + "id" : "Colin Crain", + "name" : "Colin Crain", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { "data" : [ [ "Perl", 2 ] ], - "name" : "Dave Jacoby", - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "name" : "David Ferrone", - "id" : "David Ferrone", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "David Ferrone", + "id" : "David Ferrone" }, { - "name" : "E. Choroba", "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", @@ -313,14 +144,14 @@ ] }, { - "id" : "Feng Chang", - "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Feng Chang", + "name" : "Feng Chang" }, { "data" : [ @@ -337,10 +168,12 @@ 2 ] ], - "id" : "Flavio Poletti", - "name" : "Flavio Poletti" + "name" : "Flavio Poletti", + "id" : "Flavio Poletti" }, { + "id" : "James Smith", + "name" : "James Smith", "data" : [ [ "Perl", @@ -350,33 +183,31 @@ "Blog", 1 ] - ], - "id" : "James Smith", - "name" : "James Smith" + ] }, { + "id" : "Jan Krnavek", + "name" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ], - "id" : "Jan Krnavek", - "name" : "Jan Krnavek" + ] }, { - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey" }, { - "id" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -393,8 +224,6 @@ ] }, { - "id" : "Luca Ferrari", - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -404,27 +233,29 @@ "Blog", 6 ] - ] + ], + "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", + "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ], - "name" : "Niels van Dijke", - "id" : "Niels van Dijke" + ] }, { "data" : [ @@ -437,8 +268,6 @@ "name" : "Pip Stuart" }, { - "name" : "Robbie Hatley", - "id" : "Robbie Hatley", "data" : [ [ "Perl", @@ -448,7 +277,9 @@ "Blog", 1 ] - ] + ], + "id" : "Robbie Hatley", + "name" : "Robbie Hatley" }, { "data" : [ @@ -475,8 +306,6 @@ ] }, { - "id" : "Roger Bell_West", - "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -486,11 +315,13 @@ "Raku", 2 ] - ] + ], + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { - "id" : "Simon Green", "name" : "Simon Green", + "id" : "Simon Green", "data" : [ [ "Perl", @@ -521,8 +352,6 @@ "id" : "Stephen G. Lynn" }, { - "id" : "Thomas Kohler", - "name" : "Thomas Kohler", "data" : [ [ "Perl", @@ -532,7 +361,9 @@ "Blog", 2 ] - ] + ], + "id" : "Thomas Kohler", + "name" : "Thomas Kohler" }, { "data" : [ @@ -545,12 +376,10 @@ 2 ] ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -560,11 +389,201 @@ "Blog", 1 ] - ] + ], + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" } ] }, + "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/>" + }, "chart" : { "type" : "column" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Adam Russell", + "y" : 2, + "name" : "Adam Russell" + }, + { + "drilldown" : "Ali Moradi", + "name" : "Ali Moradi", + "y" : 4 + }, + { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "drilldown" : "Athanasius", + "y" : 4, + "name" : "Athanasius" + }, + { + "drilldown" : "Bob Lied", + "y" : 2, + "name" : "Bob Lied" + }, + { + "name" : "Bruce Gray", + "y" : 2, + "drilldown" : "Bruce Gray" + }, + { + "name" : "Carlos Oliveira", + "y" : 2, + "drilldown" : "Carlos Oliveira" + }, + { + "drilldown" : "Cheok-Yin Fung", + "y" : 2, + "name" : "Cheok-Yin Fung" + }, + { + "y" : 3, + "name" : "Colin Crain", + "drilldown" : "Colin Crain" + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 2 + }, + { + "drilldown" : "David Ferrone", + "y" : 2, + "name" : "David Ferrone" + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 + }, + { + "y" : 2, + "name" : "Feng Chang", + "drilldown" : "Feng Chang" + }, + { + "drilldown" : "Flavio Poletti", + "name" : "Flavio Poletti", + "y" : 6 + }, + { + "drilldown" : "James Smith", + "name" : "James Smith", + "y" : 3 + }, + { + "y" : 2, + "name" : "Jan Krnavek", + "drilldown" : "Jan Krnavek" + }, + { + "y" : 2, + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey" + }, + { + "drilldown" : "Laurent Rosenfeld", + "y" : 5, + "name" : "Laurent Rosenfeld" + }, + { + "drilldown" : "Luca Ferrari", + "y" : 8, + "name" : "Luca Ferrari" + }, + { + "name" : "Mark Anderson", + "y" : 2, + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "y" : 2 + }, + { + "drilldown" : "Pip Stuart", + "y" : 2, + "name" : "Pip Stuart" + }, + { + "drilldown" : "Robbie Hatley", + "name" : "Robbie Hatley", + "y" : 3 + }, + { + "name" : "Robert DiCicco", + "y" : 2, + "drilldown" : "Robert DiCicco" + }, + { + "y" : 2, + "name" : "Robert Ransbottom", + "drilldown" : "Robert Ransbottom" + }, + { + "y" : 4, + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West" + }, + { + "drilldown" : "Simon Green", + "name" : "Simon Green", + "y" : 3 + }, + { + "drilldown" : "Stephen G. Lynn", + "y" : 5, + "name" : "Stephen G. Lynn" + }, + { + "name" : "Thomas Kohler", + "y" : 4, + "drilldown" : "Thomas Kohler" + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 4 + }, + { + "drilldown" : "W. Luis Mochan", + "y" : 3, + "name" : "W. Luis Mochan" + } + ], + "name" : "The Weekly Challenge - 197" + } + ], + "legend" : { + "enabled" : 0 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "xAxis" : { + "type" : "category" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index bf3b56d894..fc504d7ed4 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,9 +1,12 @@ { - "subtitle" : { - "text" : "La |
