diff options
| -rw-r--r-- | challenge-091/athanasius/perl/ch-1.pl | 123 | ||||
| -rw-r--r-- | challenge-091/athanasius/perl/ch-2.pl | 239 | ||||
| -rw-r--r-- | challenge-091/athanasius/raku/ch-1.raku | 98 | ||||
| -rw-r--r-- | challenge-091/athanasius/raku/ch-2.raku | 211 | ||||
| -rw-r--r-- | stats/pwc-current.json | 263 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 60 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 642 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 760 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 100 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 470 |
16 files changed, 1981 insertions, 1291 deletions
diff --git a/challenge-091/athanasius/perl/ch-1.pl b/challenge-091/athanasius/perl/ch-1.pl new file mode 100644 index 0000000000..b6c3e8bf4e --- /dev/null +++ b/challenge-091/athanasius/perl/ch-1.pl @@ -0,0 +1,123 @@ +#!perl
+
+###############################################################################
+=comment
+
+Perl Weekly Challenge 091
+=========================
+
+Task #1
+-------
+*Count Number*
+
+Submitted by: Mohammad S Anwar
+
+You are given a positive number $N.
+
+Write a script to count number and display as you read it.
+
+Example 1:
+
+ Input: $N = 1122234
+ Output: 21321314
+
+ as we read "two 1 three 2 one 3 one 4"
+
+Example 2:
+
+ Input: $N = 2333445
+ Output: 12332415
+
+ as we read "one 2 three 3 two 4 one 5"
+
+Example 3:
+
+ Input: $N = 12345
+ Output: 1112131415
+
+ as we read "one 1 one 2 one 3 one 4 one 5"
+
+=cut
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+use strict;
+use warnings;
+use Const::Fast;
+use Regexp::Common qw( number );
+
+const my $USAGE =>
+"Usage:
+ perl $0 <N>
+
+ <N> A positive integer\n";
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ $| = 1;
+ print "\nChallenge 091, Task #1: Count Number (Perl)\n\n";
+}
+
+#==============================================================================
+MAIN:
+#==============================================================================
+{
+ my $N = parse_command_line();
+
+ print "Input: \$N = $N\n";
+ print 'Output: ';
+
+ my @digits = split //, $N;
+ my $last_digit = shift @digits;
+ my $count = 1;
+
+ # Note: the test for definedness is needed for when $next_digit is zero
+
+ while (defined(my $next_digit = shift @digits))
+ {
+ if ($next_digit == $last_digit)
+ {
+ ++$count;
+ }
+ else
+ {
+ print "$count$last_digit";
+
+ $last_digit = $next_digit;
+ $count = 1;
+ }
+ }
+
+ print "$count$last_digit\n";
+}
+
+#------------------------------------------------------------------------------
+sub parse_command_line
+#------------------------------------------------------------------------------
+{
+ my $args = scalar @ARGV;
+ $args == 0 and error( 'No command-line arguments found' );
+ $args == 1 or error( 'Too many command-line arguments' );
+
+ my $N = $ARGV[0];
+ $N =~ / \A $RE{num}{int} \z /x or error( qq["$N" is not an integer] );
+ $N > 0 or error( qq["$N" is not positive] );
+
+ return $N;
+}
+
+#------------------------------------------------------------------------------
+sub error
+#------------------------------------------------------------------------------
+{
+ my ($message) = @_;
+
+ die "ERROR: $message\n$USAGE";
+}
+
+###############################################################################
diff --git a/challenge-091/athanasius/perl/ch-2.pl b/challenge-091/athanasius/perl/ch-2.pl new file mode 100644 index 0000000000..7a137fd2de --- /dev/null +++ b/challenge-091/athanasius/perl/ch-2.pl @@ -0,0 +1,239 @@ +#!perl
+
+###############################################################################
+=comment
+
+Perl Weekly Challenge 091
+=========================
+
+Task #2
+-------
+*Jump Game*
+
+Submitted by: Mohammad S Anwar
+
+You are given an array of positive numbers @N, where value at each index deter-
+mines how far you are allowed to jump further.
+
+Write a script to decide if you can jump to the last index. Print 1 if you are
+able to reach the last index otherwise 0.
+
+Example 1:
+
+ Input: @N = (1, 2, 1, 2)
+ Output: 1
+
+ as we jump one place from index 0 and then two places from index 1 to reach
+ the last index.
+
+Example 2:
+
+ Input: @N = (2,1,1,0,2)
+ Output: 0
+
+ it is impossible to reach the last index. as we jump two places from index 0
+ to reach index 2, followed by one place jump from index 2 to reach the index
+ 3. once you reached the index 3, you can't go any further because you can only
+ jump 0 position further.
+
+=cut
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+#==============================================================================
+=comment
+
+The Task description "...value at each index determines how far you are allowed
+to jump further" can be interpreted in two ways. Suppose the index is $i and
+the value is $n; then, arriving at index $i, one is allowed to jump either:
+
+(1) exactly $n indices forward; or
+(2) any number of indices between 1 and $n forward, at the jumper's discretion.
+
+As (2) is the more interesting case, I've made it the default. For (1), enter
+
+ -e or --exact
+
+on the command line. I've also included a
+
+ -v or --verbose
+
+command-line option, which displays each step of the search. For case (2),
+which is solved via backtracking (implemented using recursion), the verbose
+output is useful because it shows which moves failed and why, and which move
+(if any) was the first to succeed.
+
+=cut
+#==============================================================================
+
+use strict;
+use warnings;
+use Const::Fast;
+use Getopt::Long;
+use Regexp::Common qw( number );
+
+const my $USAGE =>
+"Usage:
+ perl $0 [--exact] [--verbose] [<N> ...]
+
+ [<N> ...] 1+ non-negative integers
+ --e[xact] Allow exact moves only
+ --v[erbose] Show the steps followed\n";
+
+my $Verbose;
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ $| = 1;
+ print "\nChallenge 091, Task #2: Jump Game (Perl)\n\n";
+}
+
+#==============================================================================
+MAIN:
+#==============================================================================
+{
+ my ($exact, @N) = parse_command_line();
+ my $result;
+
+ printf "Input: \@N = (%s)\n", join(', ', @N);
+
+ if ($exact)
+ {
+ print "\nOnly *exact* jumps are allowed\n\n" if $Verbose;
+ $result = jump_exact(\@N);
+ }
+ else
+ {
+ print "\nThe value at each index is the *maximum* jump allowed\n\n"
+ if $Verbose;
+ $result = jump_up_to(\@N, 0);
+ }
+
+ print "\n" if $Verbose;
+ printf "Output: %d\n", $result ? 1 : 0;
+}
+
+#------------------------------------------------------------------------------
+sub jump_exact
+#------------------------------------------------------------------------------
+{
+ my ($N) = @_;
+ my $result = 1;
+ my $index = 0;
+
+ until ($index == $#$N)
+ {
+ my $jump = $N->[$index];
+
+ if ($jump == 0)
+ {
+ _log('Failure: jump at index %d is 0', $index);
+ $result = 0;
+ last;
+ }
+
+ _log('At index %d, jumping %d', $index, $jump);
+ $index += $jump;
+
+ if ($index > $#$N)
+ {
+ _log('Failure: reached index %d', $index);
+ $result = 0;
+ last;
+ }
+ }
+
+ _log('Success: reached index %d', $index) if $result;
+
+ return $result;
+}
+
+#------------------------------------------------------------------------------
+sub jump_up_to # Recursive subroutine
+#------------------------------------------------------------------------------
+{
+ my ($N, $index) = @_;
+ my $result = 0;
+
+ if ($index == $#$N) # Base case 1: Success (target reached)
+ {
+ _log('Success: reached index %d', $index);
+ $result = 1;
+ }
+ elsif ($index > $#$N) # Base case 2: Failure (jumped too far)
+ {
+ _log('Failure: reached index %d, backtracking...', $index);
+ }
+ elsif ($N->[$index] == 0) # Base case 3: Failure (zero jump)
+ {
+ _log('Failure: jump at index %d is 0, ' .
+ ($index ? 'backtracking...' : 'search ended'), $index);
+ }
+ else
+ {
+ for my $i (reverse 1 .. $N->[$index]) # Prefer longer jumps
+ {
+ _log('At index %d, jumping %d', $index, $i);
+
+ # Recursive case 1: Success
+
+ last if $result = jump_up_to($N, $index + $i);
+ }
+
+ unless ($result) # Recursive case 2: Failure
+ {
+ _log('Failure: all jumps failed at index %d, ' .
+ ($index ? 'backtracking...' : 'search ended'), $index);
+ }
+ }
+
+ return $result;
+}
+
+#------------------------------------------------------------------------------
+sub parse_command_line
+#------------------------------------------------------------------------------
+{
+ my $exact;
+
+ GetOptions
+ (
+ 'exact' => \$exact,
+ 'verbose' => \$Verbose,
+ ) or error( 'Invalid command-line arguments' );
+
+ scalar @ARGV > 0 or error( 'Command-line arguments missing' );
+
+ for (@ARGV)
+ {
+ / \A $RE{num}{int} \z /x or error( qq["$_" is not an integer] );
+ $_ >= 0 or error( qq["$_" is negative] );
+ }
+
+ return ($exact, @ARGV);
+}
+
+#------------------------------------------------------------------------------
+sub error
+#------------------------------------------------------------------------------
+{
+ my ($message) = @_;
+
+ die "ERROR: $message\n$USAGE";
+}
+
+#------------------------------------------------------------------------------
+sub _log
+#------------------------------------------------------------------------------
+{
+ my ($format, @args) = @_;
+
+ printf "--$format\n", @args if $Verbose;
+}
+
+###############################################################################
diff --git a/challenge-091/athanasius/raku/ch-1.raku b/challenge-091/athanasius/raku/ch-1.raku new file mode 100644 index 0000000000..261862d86b --- /dev/null +++ b/challenge-091/athanasius/raku/ch-1.raku @@ -0,0 +1,98 @@ +use v6d;
+
+###############################################################################
+=begin comment
+
+Perl Weekly Challenge 091
+=========================
+
+Task #1
+-------
+*Count Number*
+
+Submitted by: Mohammad S Anwar
+
+You are given a positive number $N.
+
+Write a script to count number and display as you read it.
+
+Example 1:
+
+ Input: $N = 1122234
+ Output: 21321314
+
+ as we read "two 1 three 2 one 3 one 4"
+
+Example 2:
+
+ Input: $N = 2333445
+ Output: 12332415
+
+ as we read "one 2 three 3 two 4 one 5"
+
+Example 3:
+
+ Input: $N = 12345
+ Output: 1112131415
+
+ as we read "one 1 one 2 one 3 one 4 one 5"
+
+=end comment
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ "\nChallenge 091, Task #1: Count Number (Raku)\n".put;
+}
+
+#==============================================================================
+sub MAIN
+(
+ Int:D $N where { $N > 0 } #= A positive integer
+)
+#==============================================================================
+{
+ "Input: \$N = $N".put;
+ 'Output: '.print;
+
+ my UInt @digits = $N.split('', :skip-empty).map: { .Int };
+ my UInt $last-digit = @digits.shift;
+ my UInt $count = 1;
+
+ while @digits.elems
+ {
+ my UInt $next-digit = @digits.shift;
+
+ if $next-digit == $last-digit
+ {
+ ++$count;
+ }
+ else
+ {
+ "$count$last-digit".print;
+
+ $last-digit = $next-digit;
+ $count = 1;
+ }
+ }
+
+ "$count$last-digit".put;
+}
+
+#------------------------------------------------------------------------------
+sub USAGE()
+#------------------------------------------------------------------------------
+{
+ my Str $usage = $*USAGE;
+
+ $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/;
+ $usage.put;
+}
+
+##############################################################################
diff --git a/challenge-091/athanasius/raku/ch-2.raku b/challenge-091/athanasius/raku/ch-2.raku new file mode 100644 index 0000000000..52caabd0d8 --- /dev/null +++ b/challenge-091/athanasius/raku/ch-2.raku @@ -0,0 +1,211 @@ +use v6d;
+
+###############################################################################
+=begin comment
+
+Perl Weekly Challenge 091
+=========================
+
+Task #2
+-------
+*Jump Game*
+
+Submitted by: Mohammad S Anwar
+
+You are given an array of positive numbers @N, where value at each index deter-
+mines how far you are allowed to jump further.
+
+Write a script to decide if you can jump to the last index. Print 1 if you are
+able to reach the last index otherwise 0.
+
+Example 1:
+
+ Input: @N = (1, 2, 1, 2)
+ Output: 1
+
+ as we jump one place from index 0 and then two places from index 1 to reach
+ the last index.
+
+Example 2:
+
+ Input: @N = (2,1,1,0,2)
+ Output: 0
+
+ it is impossible to reach the last index. as we jump two places from index 0
+ to reach index 2, followed by one place jump from index 2 to reach the index
+ 3. once you reached the index 3, you can't go any further because you can only
+ jump 0 position further.
+
+=end comment
+###############################################################################
+
+#--------------------------------------#
+# Copyright © 2020 PerlMonk Athanasius #
+#--------------------------------------#
+
+#==============================================================================
+=begin comment
+
+The Task description "...value at each index determines how far you are allowed
+to jump further" can be interpreted in two ways. Suppose the index is $i and
+the value is $n; then, arriving at index $i, one is allowed to jump either:
+
+(1) exactly $n indices forward; or
+(2) any number of indices between 1 and $n forward, at the jumper's discretion.
+
+As (2) is the more interesting case, I've made it the default. For (1), enter
+
+ --exact
+
+on the command line. I've also included a
+
+ --verbose
+
+command-line option, which displays each step of the search. For case (2),
+which is solved via backtracking (implemented using recursion), the verbose
+output is useful because it shows which moves failed and why, and which move
+(if any) was the first to succeed.
+
+=end comment
+#==============================================================================
+
+my Bool $Verbose;
+
+#------------------------------------------------------------------------------
+BEGIN
+#------------------------------------------------------------------------------
+{
+ "\nChallenge 091, Task #2: Jump Game (Raku)\n".put;
+}
+
+#==============================================================================
+sub MAIN
+(
+ *@N where { .elems > 0 && .all ~~ UInt:D }, #= 1+ non-negative integers
+ Bool:D :$exact = False, #= Allow exact moves only
+ Bool:D :$verbose = False, #= Show the steps followed
+)
+#==============================================================================
+{
+ $Verbose = $verbose;
+
+ "Input: @N = (%s)\n".printf: @N.join: ', ';
+
+ my Bool $result;
+
+ if $exact
+ {
+ "\nOnly *exact* jumps are allowed\n".put if $Verbose;
+ $result = jump-exact(@N);
+ }
+ else
+ {
+ "\nThe value at each index is the *maximum* jump allowed\n".put
+ if $Verbose;
+ $result = jump-up-to(@N, 0);
+ }
+
+ ''.put if $Verbose;
+ "Output: %d\n".printf: $result ?? 1 !! 0;
+}
+
+#------------------------------------------------------------------------------
+sub jump-exact
+(
+ Array:D[UInt:D] $N,
+--> Bool:D
+)
+#------------------------------------------------------------------------------
+{
+ my Bool $result = True;
+ my UInt $index = 0;
+
+ until $index == $N.end
+ {
+ my UInt $jump = $N[$index];
+
+ if $jump == 0
+ {
+ _log('Failure: jump at index %d is 0', $index);
+ $result = False;
+ last;
+ }
+
+ _log('At index %d, jumping %d', $index, $jump);
+ $index += $jump;
+
+ if $index > $N.end
+ {
+ _log('Failure: reached index %d', $index);
+ $result = False;
+ last;
+ }
+ }
+
+ _log('Success: reached index %d', $index) if $result;
+
+ return $result;
+}
+
+#------------------------------------------------------------------------------
+sub jump-up-to # Recursive subroutine
+(
+ Array:D[UInt:D] $N,
+ UInt:D $index,
+--> Bool:D
+)
+#------------------------------------------------------------------------------
+{
+ my Bool $result = False;
+
+ if $index == $N.end # Base case 1: Success (target reached)
+ {
+ _log('Success: reached index %d', $index);
+ $result = True;
+ }
+ elsif $index > $N.end # Base case 2: Failure (jumped too far)
+ {
+ _log('Failure: reached index %d, backtracking...', $index);
+ }
+ elsif $N[$index] == 0 # Base case 3: Failure (zero jump)
+ {
+ _log('Failure: jump at index %d is 0, ' ~
+ ($index ?? 'backtracking...' !! 'search ended'), $index);
+ }
+ else
+ {
+ for $N[$index] ... 1 -> UInt $i # Prefer longer jumps
+ {
+ _log('At index %d, jumping %d', $index, $i);
+
+ last if $result = jump-up-to($N, $index + $i); # Recursive case 1:
+ } # Success
+
+ unless $result # Recursive case 2: Failure (all jumps exhausted)
+ {
+ _log('Failure: all jumps failed at index %d, ' ~
+ ($index ?? 'backtracking...' !! 'search ended'), $index);
+ }
+ }
+
+ return $result;
+}
+
+#------------------------------------------------------------------------------
+sub USAGE()
+#------------------------------------------------------------------------------
+{
+ my Str $usage = $*USAGE;
+
+ $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/;
+ $usage.put;
+}
+
+#------------------------------------------------------------------------------
+sub _log( Str:D $format, *@args )
+#------------------------------------------------------------------------------
+{
+ "--$format\n".printf: @args if $Verbose;
+}
+
+##############################################################################
diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7df559f964..a2607a69e4 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,11 +1,27 @@ { - "subtitle" : { - "text" : "[Champions: 29] Last updated at 2020-12-20 15:08:35 GMT" + "legend" : { + "enabled" : 0 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "title" : { + "text" : "Perl Weekly Challenge - 091" }, "drilldown" : { "series" : [ { - "id" : "Aaron Smith", "name" : "Aaron Smith", "data" : [ [ @@ -16,11 +32,10 @@ "Blog", 1 ] - ] + ], + "id" : "Aaron Smith" }, { - "name" : "Abigail", - "id" : "Abigail", "data" : [ [ "Perl", @@ -30,7 +45,9 @@ "Blog", 1 ] - ] + ], + "id" : "Abigail", + "name" : "Abigail" }, { "name" : "Alexander Karelas", @@ -43,16 +60,17 @@ ] }, { - "id" : "Alexander Pankoff", "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Alexander Pankoff" }, { + "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -63,8 +81,21 @@ 1 ] ], - "id" : "Andrew Shitov", - "name" : "Andrew Shitov" + "id" : "Andrew Shitov" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Athanasius", + "name" : "Athanasius" }, { "data" : [ @@ -77,6 +108,7 @@ "name" : "Cheok-Yin Fung" }, { + "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -87,22 +119,19 @@ 1 ] ], - "id" : "Dave Jacoby", "name" : "Dave Jacoby" }, { - "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "E. Choroba" }, { - "name" : "Flavio Poletti", - "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -112,7 +141,9 @@ "Blog", 2 ] - ] + ], + "id" : "Flavio Poletti", + "name" : "Flavio Poletti" }, { "name" : "James Smith", @@ -136,26 +167,25 @@ }, { "name" : "Joel Crosswhite", - "id" : "Joel Crosswhite", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Joel Crosswhite" }, { "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Jorg Sommrey" }, { - "id" : "Kang-min Liu", "name" : "Kang-min Liu", "data" : [ [ @@ -166,9 +196,11 @@ "Blog", 2 ] - ] + ], + "id" : "Kang-min Liu" }, { + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -183,18 +215,17 @@ 1 ] ], - "name" : "Laurent Rosenfeld", "id" : "Laurent Rosenfeld" }, { + "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] - ], - "id" : "Lubos Kolouch", - "name" : "Lubos Kolouch" + ] }, { "name" : "Mark Anderson", @@ -213,8 +244,8 @@ 2 ] ], - "name" : "Niels van Dijke", - "id" : "Niels van Dijke" + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { "name" : "Nuno Vieira", @@ -227,14 +258,14 @@ ] }, { + "id" : "Paulo Custodio", "data" : [ [ "Perl", 2 ] ], - "name" : "Paulo Custodio", - "id" : "Paulo Custodio" + "name" : "Paulo Custodio" }, { "data" : [ @@ -243,18 +274,18 @@ 2 ] ], - "name" : "Pete Houston", - "id" : "Pete Houston" + "id" : "Pete Houston", + "name" : "Pete Houston" }, { + "name" : "Philip Hood", + "id" : "Philip Hood", "data" : [ [ "Raku", 2 ] - ], - "name" : "Philip Hood", - "id" : "Philip Hood" + ] }, { "data" : [ @@ -289,14 +320,14 @@ ] }, { - "id" : "Simon Proctor", - "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { "name" : "Stuart Little", @@ -309,6 +340,7 @@ ] }, { + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -319,10 +351,11 @@ 2 ] ], - "name" : "Ulrich Rieke", - "id" : "Ulrich Rieke" + "name" : "Ulrich Rieke" }, { + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -332,13 +365,11 @@ "Blog", 1 ] - ], - "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan" + ] }, { - "id" : "Wanderdoc", "name" : "Wanderdoc", + "id" : "Wanderdoc", "data" : [ [ "Perl", @@ -348,22 +379,18 @@ } ] }, - "legend" : { - "enabled" : 0 - }, - "title" : { - "text" : "Perl Weekly Challenge - 091" - }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "[Champions: 30] Last updated at 2020-12-20 15:17:31 GMT" }, "series" : [ { + "name" : "Perl Weekly Challenge - 091", + "colorByPoint" : 1, "data" : [ { "name" : "Aaron Smith", - "drilldown" : "Aaron Smith", - "y" : 3 + "y" : 3, + "drilldown" : "Aaron Smith" }, { "y" : 3, @@ -371,9 +398,9 @@ "name" : "Abigail" }, { - "name" : "Alexander Karelas", + "y" : 2, "drilldown" : "Alexander Karelas", - "y" : 2 + "name" : "Alexander Karelas" }, { "y" : 2, @@ -382,48 +409,53 @@ }, { "drilldown" : "Andrew Shitov", - "name" : "Andrew Shitov", - "y" : 3 + "y" : 3, + "name" : "Andrew Shitov" + }, + { + "name" : "Athanasius", + "drilldown" : "Athanasius", + "y" : 4 }, { - "drilldown" : "Cheok-Yin Fung", "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung", "y" : 2 }, { "y" : 3, - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby" + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby" |
