From 040636ba800110c76d302f6e9af3a39abceb444f Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 6 Jun 2021 23:59:57 +0100 Subject: - Added solutions by Colin Crain. --- challenge-115/colin-crain/perl/ch-1.pl | 123 +++ challenge-115/colin-crain/perl/ch-2.pl | 72 ++ challenge-115/colin-crain/raku/ch-1.raku | 67 ++ challenge-115/colin-crain/raku/ch-2.raku | 52 + stats/pwc-current.json | 228 ++-- stats/pwc-language-breakdown-summary.json | 56 +- stats/pwc-language-breakdown.json | 1678 ++++++++++++++--------------- stats/pwc-leaders.json | 352 +++--- stats/pwc-summary-1-30.json | 118 +- stats/pwc-summary-121-150.json | 104 +- stats/pwc-summary-151-180.json | 52 +- stats/pwc-summary-181-210.json | 38 +- stats/pwc-summary-211-240.json | 80 +- stats/pwc-summary-31-60.json | 26 +- stats/pwc-summary-61-90.json | 36 +- stats/pwc-summary-91-120.json | 36 +- stats/pwc-summary.json | 502 ++++----- 17 files changed, 1971 insertions(+), 1649 deletions(-) create mode 100644 challenge-115/colin-crain/perl/ch-1.pl create mode 100644 challenge-115/colin-crain/perl/ch-2.pl create mode 100644 challenge-115/colin-crain/raku/ch-1.raku create mode 100644 challenge-115/colin-crain/raku/ch-2.raku diff --git a/challenge-115/colin-crain/perl/ch-1.pl b/challenge-115/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..8705c88272 --- /dev/null +++ b/challenge-115/colin-crain/perl/ch-1.pl @@ -0,0 +1,123 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# string_cheese.pl +# +# String Chain +# Submitted by: Mohammad S Anwar +# You are given an array of strings. +# +# Write a script to find out if the given strings can be chained to form +# a circle. Print 1 if found otherwise 0. +# +# A string $S can be put before another string $T in circle if the last +# character of $S is same as first character of $T. +# +# Examples: +# Input: @S = ("abc", "dea", "cd") +# Output: 1 as we can form circle e.g. "abc", "cd", "dea". +# +# Input: @S = ("ade", "cbd", "fgh") +# Output: 0 as we can't form circle. +# +# METHOD: +# this is more complex than it seems, because there seems to be no +# limit on the strings or their letters. Multiple strings can start or +# end with the same letter, giving multiple pathway options that will +# all need to be explored. +# +# Although not expressly stated, I'm going to assume *every* string +# will need to be connected in this chain for now. Maybe it makes +# sense to make this configurable. +# +# One aspect that works in our favor is the circle: we only care if +# all the strings can be chained, so consequently the circle is +# equivalent at all points. This means we can start looking for the +# chain at any point. +# +# therefore we'll start at the first string, and grep the array to +# find all strings the start with the same letter. For each of these +# strings we will try adding it to a partial chain and removing it +# from the list of remaining possibilites. The partial chain and +# remaining possibilites are then passed along recursively to repeat +# the step. +# +# The exit case is when there are no more valid possibilities to +# link to. When that happens, if the total list is still has strings +# init the chain has failed. If we've linked the last sring and that +# string can link to our first element then we have discovered the +# chain. +# +# Strings can be of any length. In a single letter string the first character +# is the same as the last. +# +# Strings can contain any character. As long as they match they'll chain. +# +# There's no reason to exclude multiple instances of the same +# string. This makes removing used instances from the running a +# little more tricky than a simple `grep` but it's not too bad. We +# could avoid using `first` by rolling our own iterator but +# List::Util is core so why not. List::MoreUtils has `firstidx`, +# which does exactly what we want, but its not core. +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; +use List::Util qw( first ); + +my @str = @ARGV; + +if (scalar @str) { + my $res = chain(\@str); + say $res? $res : "no chain"; +} + +sub chain ($strings, $chain = []) { + $chain->[0] = shift $strings->@* if not defined $chain->[0]; + + ## base: if no more in pool check last loop link + if (scalar $strings->@* == 0) { + return join ' ', $chain->@* + if substr($chain->[-1], -1) eq substr($chain->[0], 0, 1); + return undef; + } + + my @next = grep { substr($chain->[-1], -1) eq substr($_, 0, 1) } $strings->@*; + + ## base: no next link and still more in pool fails + return undef if @next == 0 and $strings->@* > 0; + + for my $link (@next) { + my @possible = $strings->@*; + my $idx = first { $possible[$_] eq $link } (0..$#possible); + splice @possible, $idx, 1; + + my $result = chain( \@possible, [ $chain->@*, $link ] ); + + return $result if defined $result; + } + return undef; +} + + + + + + + + +use Test::More; + +is chain(["abc", "dea", "cd" ]), "abc cd dea", 'ex-1'; +is chain(["ade", "cbd", "fgh"]), undef, 'ex-2'; +is chain(["abc", "dea", "cda"]), undef, 'short loop'; +is chain(["abc", "aea", "cda"]), "abc cda aea", 'multi first'; +is chain(["abc", "abc", "cda", "cda"]), "abc cda abc cda", 'repeats'; + +done_testing(); diff --git a/challenge-115/colin-crain/perl/ch-2.pl b/challenge-115/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..969b64462e --- /dev/null +++ b/challenge-115/colin-crain/perl/ch-2.pl @@ -0,0 +1,72 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# list-one-perl-two.pl +# +# Largest Multiple +# Submitted by: Mohammad S Anwar +# You are given a list of positive integers (0-9), single digit. +# +# Write a script to find the largest multiple of 2 +# that can be formed from the list. +# +# Examples +# Input: @N = (1, 0, 2, 6) +# Output: 6210 +# +# Input: @N = (1, 4, 2, 8) +# Output: 8412 +# +# Input: @N = (4, 1, 7, 6) +# Output: 7614 +# +# method: +# sort the list +# iterate from small end: +# element %% 2 ? splice and small end move to end, last +# : next +# join list +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + + +my @arr = @ARGV; +scalar @arr == 0 and @arr = ( 1, 0, 2, 6); + +say largest_two(\@arr); + + +sub largest_two ($arr, $i = 0) { + @arr = sort {$a-$b} @$arr; + for (@arr) { + if ($arr[$i] % 2 == 0) { + unshift @arr, splice @arr, $i, 1; + last; + } + $i++; + } + + return $i < @arr ? join '', reverse @arr + : "none" ; +} + + + +use Test::More; + +is largest_two( [1, 0, 2, 6] ), 6210, 'ex-1'; +is largest_two( [1, 4, 2, 8] ), 8412, 'ex-2'; +is largest_two( [4, 1, 7, 6] ), 7614, 'ex-3'; +is largest_two( [3, 1, 3, 3] ), "none", 'no multiple'; +is largest_two( [3, 1, 7, 3, 5, 1, 8] ), 7533118, 'work for it'; + + +done_testing(); diff --git a/challenge-115/colin-crain/raku/ch-1.raku b/challenge-115/colin-crain/raku/ch-1.raku new file mode 100644 index 0000000000..351f3ceaec --- /dev/null +++ b/challenge-115/colin-crain/raku/ch-1.raku @@ -0,0 +1,67 @@ +#!/usr/bin/env perl6 +# +# +# 115-1-string_cheese.raku +# +# String Chain +# Submitted by: Mohammad S Anwar +# You are given an array of strings. +# +# Write a script to find out if the given strings can be chained to form +# a circle. Print 1 if found otherwise 0. +# +# A string $S can be put before another string $T in circle if the last +# character of $S is same as first character of $T. +# +# Examples: +# Input: @S = ("abc", "dea", "cd") +# Output: 1 as we can form circle e.g. "abc", "cd", "dea". +# +# Input: @S = ("ade", "cbd", "fgh") +# Output: 0 as we can't form circle. +# +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN () ; + +use Test; + +plan 5; + +is chain(["abc", "dea", "cd" ]), "abc cd dea", 'ex-1'; +is chain(["ade", "cbd", "fgh"]), Nil, 'ex-2'; +is chain(["abc", "dea", "cda"]), Nil, 'short loop'; +is chain(["abc", "aea", "cda"]), "abc cda aea", 'multi first'; +is chain(["abc", "abc", "cda", "cda"]), "abc cda abc cda", 'repeats'; + + + + + +sub chain (@str, *@chain) { + @chain.unshift(@str.shift) unless @chain.elems; + + ## base case: if no more in pool check last loop link + if @str == 0 { + return @chain[*-1].substr(*-1) eq @chain[0].substr(0,1) + ?? @chain.join(' ') + !! Nil; + } + + my @next = @str.grep({@chain[*-1].substr(*-1,1) eq $_.substr(0,1)}) ; + + ## base case: no next link and still more in pool fails + return Nil if @next ~~ Empty and @str.elems; + + for @next -> $link { + my @possible = @str; + splice @possible, @possible.first(* eq $link, :k), 1; + my $result = chain( @possible, |@chain, $link ); + return $result if $result.defined; + } + return Nil; +} diff --git a/challenge-115/colin-crain/raku/ch-2.raku b/challenge-115/colin-crain/raku/ch-2.raku new file mode 100644 index 0000000000..07288559d9 --- /dev/null +++ b/challenge-115/colin-crain/raku/ch-2.raku @@ -0,0 +1,52 @@ +#!/usr/bin/env perl6 +# +# +# 115-2-list-one-perl-two.raku +# +# +# Largest Multiple +# Submitted by: Mohammad S Anwar +# You are given a list of positive integers (0-9), single digit. +# +# Write a script to find the largest multiple of 2 that +# can be formed from the list. +# +# Examples +# Input: @N = (1, 0, 2, 6) +# Output: 6210 +# +# Input: @N = (1, 4, 2, 8) +# Output: 8412 +# +# Input: @N = (4, 1, 7, 6) +# Output: 7614 +# +# method: +# sort the list +# iterate from small end: +# element %% 2 ? splice and small end move to end, last +# : next +# join list +# +# +# © 2021 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +# @*ARGS = "1", "2", "3"; + +subset ArrayWith2 of Array where {.any ~~ $_.Int %% 2} ; + +multi sub MAIN (ArrayWith2 *@list) { + @list = @list.sort; + say @list.unshift( @list.splice(@list.first(* %% 2, :k), 1) ) + .join + .flip; +} + +multi sub MAIN (@list) { + say "none" +} + + + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 978047c686..c2eefbd53a 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -2,15 +2,10 @@ "title" : { "text" : "Perl Weekly Challenge - 115" }, - "subtitle" : { - "text" : "[Champions: 28] Last updated at 2021-06-06 22:40:19 GMT" - }, - "chart" : { - "type" : "column" - }, "drilldown" : { "series" : [ { + "id" : "Abigail", "data" : [ [ "Perl", @@ -21,11 +16,9 @@ 2 ] ], - "id" : "Abigail", "name" : "Abigail" }, { - "id" : "Adam Russell", "name" : "Adam Russell", "data" : [ [ @@ -36,9 +29,11 @@ "Blog", 1 ] - ] + ], + "id" : "Adam Russell" }, { + "id" : "Andinus", "data" : [ [ "Raku", @@ -49,12 +44,11 @@ 1 ] ], - "id" : "Andinus", "name" : "Andinus" }, { - "name" : "Arne Sommer", "id" : "Arne Sommer", + "name" : "Arne Sommer", "data" : [ [ "Perl", @@ -71,8 +65,8 @@ ] }, { - "name" : "Athanasius", "id" : "Athanasius", + "name" : "Athanasius", "data" : [ [ "Perl", @@ -85,8 +79,6 @@ ] }, { - "name" : "Bartosz Jarzyna", - "id" : "Bartosz Jarzyna", "data" : [ [ "Perl", @@ -96,9 +88,12 @@ "Blog", 1 ] - ] + ], + "name" : "Bartosz Jarzyna", + "id" : "Bartosz Jarzyna" }, { + "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -109,11 +104,18 @@ 1 ] ], - "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung" + "id" : "Cheok-Yin Fung" }, { "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], [ "Blog", 1 @@ -123,18 +125,16 @@ "id" : "Colin Crain" }, { - "name" : "Dave Cross", - "id" : "Dave Cross", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Dave Cross", + "id" : "Dave Cross" }, { - "name" : "Dave Jacoby", - "id" : "Dave Jacoby", "data" : [ [ "Perl", @@ -144,41 +144,41 @@ "Blog", 1 ] - ] + ], + "name" : "Dave Jacoby", + "id" : "Dave Jacoby" }, { + "name" : "Duncan C. White", "data" : [ [ "Perl", 2 ] ], - "name" : "Duncan C. White", "id" : "Duncan C. White" }, { - "name" : "E. Choroba", - "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "E. Choroba", + "id" : "E. Choroba" }, { - "name" : "Feng Chang", "id" : "Feng Chang", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Feng Chang" }, { - "name" : "Flavio Poletti", - "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -192,9 +192,12 @@ "Blog", 2 ] - ] + ], + "name" : "Flavio Poletti", + "id" : "Flavio Poletti" }, { + "id" : "James Smith", "data" : [ [ "Perl", @@ -205,41 +208,39 @@ 1 ] ], - "id" : "James Smith", "name" : "James Smith" }, { + "id" : "Jan Krnavek", + "name" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ], - "id" : "Jan Krnavek", - "name" : "Jan Krnavek" + ] }, { - "id" : "Joan Mimosinnet", - "name" : "Joan Mimosinnet", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Joan Mimosinnet", + "id" : "Joan Mimosinnet" }, { "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Jorg Sommrey" }, { - "id" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", "data" : [ [ @@ -254,11 +255,10 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld" }, { - "id" : "Luca Ferrari", - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -268,41 +268,43 @@ "Blog", 2 ] - ] + ], + "name" : "Luca Ferrari", + "id" : "Luca Ferrari" }, { + "id" : "Mark Anderson", "data" : [ [ "Raku", 1 ] ], - "id" : "Mark Anderson", "name" : "Mark Anderson" }, { + "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke", - "id" : "Niels van Dijke" + "name" : "Niels van Dijke" }, { + "id" : "Pete Houston", + "name" : "Pete Houston", "data" : [ [ "Perl", 2 ] - ], - "name" : "Pete Houston", - "id" : "Pete Houston" + ] }, { - "name" : "Roger Bell_West", "id" : "Roger Bell_West", + "name" : "Roger Bell_West", "data" : [ [ "Perl", @@ -329,8 +331,8 @@ 1 ] ], - "id" : "Simon Green", - "name" : "Simon Green" + "name" : "Simon Green", + "id" : "Simon Green" }, { "id" : "Stuart Little", @@ -347,6 +349,7 @@ ] }, { + "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -357,11 +360,9 @@ 2 ] ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "id" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", "name" : "W. Luis Mochan", "data" : [ [ @@ -372,10 +373,19 @@ "Blog", 1 ] - ] + ], + "id" : "W. Luis Mochan" } ] }, + "xAxis" : { + "type" : "category" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, "plotOptions" : { "series" : { "borderWidth" : 0, @@ -385,28 +395,29 @@ } } }, - "tooltip" : { - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1 + "legend" : { + "enabled" : 0 + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "[Champions: 28] Last updated at 2021-06-06 22:59:06 GMT" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "xAxis" : { - "type" : "category" - }, "series" : [ { - "name" : "Perl Weekly Challenge - 115", "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 115", "data" : [ { - "name" : "Abigail", + "y" : 4, "drilldown" : "Abigail", - "y" : 4 + "name" : "Abigail" }, { "name" : "Adam Russell", @@ -414,18 +425,18 @@ "y" : 3 }, { - "drilldown" : "Andinus", "y" : 2, + "drilldown" : "Andinus", "name" : "Andinus" }, { - "drilldown" : "Arne Sommer", "y" : 5, + "drilldown" : "Arne Sommer", "name" : "Arne Sommer" }, { - "drilldown" : "Athanasius", "y" : 2, + "drilldown" : "Athanasius", "name" : "Athanasius" }, { @@ -434,79 +445,79 @@ "name" : "Bartosz Jarzyna" }, { - "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", "y" : 3, - "name" : "Cheok-Yin Fung" + "drilldown" : "Cheok-Yin Fung" }, { "name" : "Colin Crain", "drilldown" : "Colin Crain", - "y" : 1 + "y" : 5 }, { + "name" : "Dave Cross", "drilldown" : "Dave Cross", - "y" : 2, - "name" : "Dave Cross" + "y" : 2 }, { - "drilldown" : "Dave Jacoby", "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", "y" : 3 }, { - "y" : 2, "drilldown" : "Duncan C. White", + "y" : 2, "name" : "Duncan C. White" }, { + "name" : "E. Choroba", "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" + "y" : 2 }, { - "y" : 2, "drilldown" : "Feng Chang", + "y" : 2, "name" : "Feng Chang" }, { - "drilldown" : "Flavio Poletti", "name" : "Flavio Poletti", - "y" : 6 + "y" : 6, + "drilldown" : "Flavio Poletti" }, { - "drilldown" : "James Smith", "name" : "James Smith", + "drilldown" : "James Smith", "y" : 3 }, { "drilldown" : "Jan Krnavek", - "name" : "Jan Krnavek", - "y" : 2 + "y" : 2, + "name" : "Jan Krnavek" }, { "drilldown" : "Joan Mimosinnet", - "name" : "Joan Mimosinnet", - "y" : 2 + "y" : 2, + "name" : "Joan Mimosinnet" }, { - "drilldown" : "Jorg Sommrey", "y" : 2, + "drilldown" : "Jorg Sommrey", "name" : "Jorg Sommrey" }, { - "name" : "Laurent Rosenfeld", "drilldown" : "Laurent Rosenfeld", - "y" : 5 + "y" : 5, + "name" : "Laurent Rosenfeld" }, { + "name" : "Luca Ferrari", "drilldown" : "Luca Ferrari", - "y" : 4, - "name" : "Luca Ferrari" + "y" : 4 }, { "name" : "Mark Anderson", - "drilldown" : "Mark Anderson", - "y" : 1 + "y" : 1, + "drilldown" : "Mark Anderson" }, { "y" : 2, @@ -514,39 +525,36 @@ "name" : "Niels van Dijke" }, { - "y" : 2, "drilldown" : "Pete Houston", + "y" : 2, "name" : "Pete Houston" }, { - "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", "y" : 5, - "name" : "Roger Bell_West" + "drilldown" : "Roger Bell_West" }, { + "y" : 3, "drilldown" : "Simon Green", - "name" : "Simon Green", - "y" : 3 + "name" : "Simon Green" }, { - "drilldown" : "Stuart Little", "name" : "Stuart Little", - "y" : 4 + "y" : 4, + "drilldown" : "Stuart Little" }, { "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke", - "y" : 4 + "y" : 4, + "name" : "Ulrich Rieke" }, { - "drilldown" : "W. Luis Mochan", "y" : 3, + "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan" } ] } - ], - "legend" : { - "enabled" : 0 - } + ] } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 14c222cd64..63f68ecf4e 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -2,21 +2,26 @@ "legend" : { "enabled" : "false" }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Last updated at 2021-06-06 22:59:06 GMT" + }, "series" : [ { "dataLabels" : { - "rotation" : -90, - "color" : "#FFFFFF", - "align" : "right", + "format" : "{point.y:.0f}", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "format" : "{point.y:.0f}", + "align" : "right", + "color" : "#FFFFFF", "enabled" : "true", - "y" : 10 + "y" : 10, + "rotation" : -90 }, - "name" : "Contributions", "data" : [ [ "Blog", @@ -24,40 +29,35 @@ ], [ "Perl", - 5448 + 5450 ], [ "Raku", - 3458 + 3460 ] - ] + ], + "name" : "Contributions" } ], + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "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" } } }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, "tooltip" : { "pointFormat" : "{point.y:.0f}" - }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2021-06-06 22:40:19 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 166c7f4b9d..423415d32f 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,617 +1,9 @@ { - "series" : [ - { - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages", - "data" : [ - { - "drilldown" : "001", - "y" : 161, - "name" : "#001" - }, - { - "y" : 125, - "drilldown" : "002", - "name" : "#002" - }, - { - "drilldown" : "003", - "y" : 81, - "name" : "#003" - }, - { - "y" : 99, - "drilldown" : "004", - "name" : "#004" - }, - { - "y" : 78, - "drilldown" : "005", - "name" : "#005" - }, - { - "drilldown" : "006", - "name" : "#006", - "y" : 58 - }, - { - "drilldown" : "007", - "y" : 64, - "name" : "#007" - }, - { - "drilldown" : "008", - "name" : "#008", - "y" : 78 - }, - { - "drilldown" : "009", - "name" : "#009", - "y" : 76 - }, - { - "drilldown" : "010", - "y" : 65, - "name" : "#010" - }, - { - "y" : 85, - "drilldown" : "011", - "name" : "#011" - }, - { - "name" : "#012", - "drilldown" : "012", - "y" : 89 - }, - { - "name" : "#013", - "drilldown" : "013", - "y" : 85 - }, - { - "y" : 101, - "drilldown" : "014", - "name" : "#014" - }, - { - "y" : 99, - "drilldown" : "015", - "name" : "#015" - }, - { - "drilldown" : "016", - "y" : 71, - "name" : "#016" - }, - { - "y" : 84, - "drilldown" : "017", - "name" : "#017" - }, - { - "drilldown" : "018", - "y" : 81, - "name" : "#018" - }, - { - "name" : "#019", - "drilldown" : "019", - "y" : 103 - }, - { - "name" : "#020", - "drilldown" : "020", - "y" : 101 - }, - { - "drilldown" : "021", - "name" : "#021", - "y" : 72 - }, - { - "drilldown" : "022", - "name" : "#022", - "y" : 68 - }, - { - "drilldown" : "023", - "name" : "#023", - "y" : 97 - }, - { - "drilldown" : "024", - "name" : "#024", - "y" : 74 - }, - { - "drilldown" : "025", - "name" : "#025", - "y" : 59 - }, - { - "drilldown" : "026", - "name" : "#026", - "y" : 74 - }, - { - "y" : 60, - "drilldown" : "027", - "name" : "#027" - }, - { - "drilldown" : "028", - "name" : "#028", - "y" : 80 - }, - { - "name" : "#029", - "drilldown" : "029", - "y" : 79 - }, - { - "y" : 117, - "drilldown" : "030", - "name" : "#030" - }, - { - "drilldown" : "031", - "name" : "#031", - "y" : 89 - }, - { - "drilldown" : "032", - "name" : "#032", - "y" : 94 - }, - { - "name" : "#033", - "drilldown" : "033", - "y" : 110 - }, - { - "y" : 64, - "drilldown" : "034", - "name" : "#034" - }, - { - "drilldown" : "035", - "name" : "#035", - "y" : 64 - }, - { - "drilldown" : "036", - "name" : "#036", - "y" : 68 - }, - { - "drilldown" : "037", - "y" : 67, - "name" : "#037" - }, - { - "drilldown" : "038", - "name" : "#038", - "y" : 68 - }, - { - "drilldown" : "039", - "y" : 62, - "name" : "#039" - }, - { - "name" : "#040", - "drilldown" : "040", - "y" : 73 - }, - { - "y" : 76, - "drilldown" : "041", - "name" : "#041" - }, - { - "name" : "#042", - "drilldown" : "042", - "y" : 92 - }, - { - "name" : "#043", - "drilldown" : "043", - "y" : 68 - }, - { - "y" : 85, - "drilldown" : "044", - "name" : "#044" - }, - { - "name" : "#045", - "drilldown" : "045", - "y" : 96 - }, - { - "y" : 87, - "drilldown" : "046", - "name" : "#046" - }, - { - "name" : "#047", - "drilldown" : "047", - "y" : 84 - }, - { - "drilldown" : "048", - "name" : "#048", - "y" : 108 - }, - { - "y" : 89, - "drilldown" : "049", - "name" : "#049" - }, - { - "y" : 98, - "drilldown" : "050", - "name" : "#050" - }, - { - "drilldown" : "051", - "y" : 89, - "name" : "#051" - }, - { - "y" : 91, - "drilldown" : "052", - "name" : "#052" - }, - { - "y" : 101, - "drilldown" : "053", - "name" : "#053" - }, - { - "name" : "#054", - "drilldown" : "054", - "y" : 103 - }, - { - "drilldown" : "055", - "name" : "#055", - "y" : 88 - }, - { - "name" : "#056", - "drilldown" : "056", - "y" : 95 - }, - { - "name" : "#057", - "drilldown" : "057", - "y" : 80 - }, - { - "drilldown" : "058", - "name" : "#058", - "y" : 69 - }, - { - "y" : 89, - "drilldown" : "059", - "name" : "#059" - }, - { - "drilldown" : "060", - "name" : "#060", - "y" : 85 - }, - { - "y" : 81, - "drilldown" : "061", - "name" : "#061" - }, - { - "drilldown" : "062", - "name" : "#062", - "y" : 58 - }, - { - "name" : "#063", - "drilldown" : "063", - "y" : 89 - }, - { - "y" : 80, - "drilldown" : "064", - "name" : "#064" - }, - { - "drilldown" : "065", - "y" : 73, - "name" : "#065" - }, - { - "y" : 84, - "drilldown" : "066", - "name" : "#066" - }, - { - "drilldown" : "067", - "y" : 90, - "name" : "#067" - }, - { - "y" : 75, - "drilldown" : "068", - "name" : "#068" - }, - { - "y" : 83, - "drilldown" : "069", - "name" : "#069" - }, - { - "drilldown" : "070", - "name" : "#070", - "y" : 93 - }, - { - "drilldown" : "071", - "y" : 78, - "name" : "#071" - }, - { - "drilldown" : "072", - "name" : "#072", - "y" : 112 - }, - { - "drilldown" : "073", - "name" : "#073", - "y" : 110 - }, - { - "drilldown" : "074", - "y" : 115, - "name" : "#074" - }, - { - "y" : 113, - "drilldown" : "075", - "name" : "#075" - }, - { - "name" : "#076", - "drilldown" : "076", - "y" : 99 - }, - { - "name" : "#077", - "drilldown" : "077", - "y" : 98 - }, - { - "y" : 127, - "drilldown" : "078", - "name" : "#078" - }, - { - "y" : 122, - "drilldown" : "079", - "name" : "#079" - }, - { - "drilldown" : "080", - "y" : 127, - "name" : "#080" - }, - { - "y" : 114, - "drilldown" : "081", - "name" : "#081" - }, - { - "drilldown" : "082", - "y" : 114, - "name" : "#082" - }, - { - "name" : "#083", - "drilldown" : "083", - "y" : 127 - }, - { - "name" : "#084", - "drilldown" : "084", - "y" : 119 - }, - { - "drilldown" : "085", - "name" : "#085", - "y" : 114 - }, - { - "drilldown" : "086", - "name" : "#086", - "y" : 104 - }, - { - "drilldown" : "087", - "name" : "#087", - "y" : 101 - }, - { - "drilldown" : "088", - "name" : "#088", - "y" : 121 - }, - { - "drilldown" : "089", - "name" : "#089", - "y" : 113 - }, - { - "drilldown" : "090", - "name" : "#090", - "y" : 113 - }, - { - "y" : 108, - "drilldown" : "091", - "name" : "#091" - }, - { - "drilldown" : "092", - "name" : "#092", - "y" : 98 - }, - { - "name" : "#093", - "drilldown" : "093", - "y" : 87 - }, - { - "y" : 87, - "drilldown" : "094", - "name" : "#094" - }, - { - "drilldown" : "095", - "name" : "#095", - "y" : 108 - }, - { - "drilldown" : "096", - "name" : "#096", - "y" : 108 - }, - { - "name" : "#097", - "drilldown" : "097", - "y" : 111 - }, - { - "y" : 108, - "drilldown" : "098", - "name" : "#098" - }, - { - "drilldown" : "099", - "name" : "#099", - "y" : 97 - }, - { - "drilldown" : "100", - "name" : "#100", - "y" : 120 - }, - { - "drilldown" : "101", - "y" : 83, - "name" : "#101" - }, - { - "drilldown" : "102", - "name" : "#102", - "y" : 90 - }, - { - "drilldown" : "103", - "y" : 79, - "name" : "#103" - }, - { - "name" : "#104", - "drilldown" : "104", - "y" : 84 - }, - { - "y" : 73, - "drilldown" : "105", - "name" : "#105" - }, - { - "name" : "#106", - "drilldown" : "106", - "y" : 97 - }, - { - "name" : "#107", - "drilldown" : "107", - "y" : 88 - }, - { - "y" : 92, - "drilldown" : "108", - "name" : "#108" - }, - { - "name" : "#109", - "drilldown" : "109", - "y" : 105 - }, - { - "y" : 106, - "drilldown" : "110", - "name" : "#110" - }, - { - "name" : "#111", - "drilldown" : "111", - "y" : 89 - }, - { - "drilldown" : "112", - "name" : "#112", - "y" : 90 - }, - { - "y" : 90, - "drilldown" : "113", - "name" : "#113" - }, - { - "y" : 106, - "drilldown" : "114", - "name" : "#114" - }, - { - "drilldown" : "115", - "y" : 82, - "name" : "#115" - } - ] - } - ], - "legend" : { - "enabled" : "false" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "tooltip" : { - "followPointer" : "true", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { - "name" : "001", "id" : "001", + "name" : "001", "data" : [ [ "Perl", @@ -628,8 +20,6 @@ ] }, { - "name" : "002", - "id" : "002", "data" : [ [ "Perl", @@ -643,11 +33,11 @@ "Blog", 10 ] - ] + ], + "name" : "002", + "id" : "002" }, { - "name" : "003", - "id" : "003", "data" : [ [ "Perl", @@ -661,11 +51,11 @@ "Blog", 9 ] - ] + ], + "name" : "003", + "id" : "003" }, { - "name" : "004", - "id" : "004", "data" : [ [ "Perl", @@ -679,7 +69,9 @@ "Blog", 10 ] - ] + ], + "name" : "004", + "id" : "004" }, { "id" : "005", @@ -700,7 +92,6 @@ ] }, { - "name" : "006", "id" : "006", "data" : [ [ @@ -715,11 +106,11 @@ "Blog", 7 ] - ] + ], + "name" : "006" }, { "name" : "007", - "id" : "007", "data" : [ [ "Perl", @@ -733,11 +124,10 @@ "Blog", 10 ] - ] + ], + "id" : "007" }, { - "id" : "008", - "name" : "008", "data" : [ [ "Perl", @@ -751,10 +141,11 @@ "Blog", 12 ] - ] + ], + "name" : "008", + "id" : "008" }, { - "name" : "009", "id" : "009", "data" : [ [ @@ -769,11 +160,12 @@ "Blog", 13 ] - ] + ], + "name" : "009" }, { - "name" : "010", "id" : "010", + "name" : "010", "data" : [ [ "Perl", @@ -822,10 +214,11 @@ 11 ] ], - "id" : "012", - "name" : "012" + "name" : "012", + "id" : "012" }, { + "name" : "013", "data" : [ [ "Perl", @@ -840,12 +233,10 @@ 13 ] ], - "name" : "013", "id" : "013" }, { "name" : "014", - "id" : "014", "data" : [ [ "Perl", @@ -859,9 +250,11 @@ "Blog", 15 ] - ] + ], + "id" : "014" }, { + "id" : "015", "data" : [ [ "Perl", @@ -876,10 +269,11 @@ 15 ] ], - "id" : "015", "name" : "015" }, { + "id" : "016", + "name" : "016", "data" : [ [ "Perl", @@ -893,9 +287,7 @@ "Blog", 12 ] - ], - "name" : "016", - "id" : "016" + ] }, { "data" : [ @@ -912,10 +304,11 @@ 12 ] ], - "id" : "017", - "name" : "017" + "name" : "017", + "id" : "017" }, { + "id" : "018", "data" : [ [ "Perl", @@ -930,12 +323,10 @@ 14 ] ], - "name" : "018", - "id" : "018" + "name" : "018" }, { "id" : "019", - "name" : "019", "data" : [ [ "Perl", @@ -949,9 +340,11 @@ "Blog", 13 ] - ] + ], + "name" : "019" }, { + "name" : "020", "data" : [ [ "Perl", @@ -966,11 +359,9 @@ 13 ] ], - "name" : "020", "id" : "020" }, { - "name" : "021", "id" : "021", "data" : [ [ @@ -985,9 +376,11 @@ "Blog", 10 ] - ] + ], + "name" : "021" }, { + "name" : "022", "data" : [ [ "Perl", @@ -1002,12 +395,9 @@ 10 ] ], - "id" : "022", - "name" : "022" + "id" : "022" }, { - "name" : "023", - "id" : "023", "data" : [ [ "Perl", @@ -1021,11 +411,12 @@ "Blog", 12 ] - ] + ], + "name" : "023", + "id" : "023" }, { "id" : "024", - "name" : "024", "data" : [ [ "Perl", @@ -1039,11 +430,10 @@ "Blog", 11 ] - ] + ], + "name" : "024" }, { - "name" : "025", - "id" : "025", "data" : [ [ "Perl", @@ -1057,10 +447,11 @@ "Blog", 12 ] - ] + ], + "name" : "025", + "id" : "025" }, { - "name" : "026", "id" : "026", "data" : [ [ @@ -1075,9 +466,12 @@ "Blog", 10 ] - ] + ], + "name" : "026" }, { + "id" : "027", + "name" : "027", "data" : [ [ "Perl", @@ -1091,12 +485,9 @@ "Blog", 9 ] - ], - "id" : "027", - "name" : "027" + ] }, { - "id" : "028", "name" : "028", "data" : [ [ @@ -1111,7 +502,8 @@ "Blog", 9 ] - ] + ], + "id" : "028" }, { "data" : [ @@ -1128,10 +520,12 @@ 12 ] ], - "id" : "029", - "name" : "029" + "name" : "029", + "id" : "029" }, { + "id" : "030", + "name" : "030", "data" : [ [ "Perl", @@ -1145,9 +539,7 @@ "Blog", 10 ] - ], - "id" : "030", - "name" : "030" + ] }, { "data" : [ @@ -1164,10 +556,11 @@ 9 ] ], - "id" : "031", - "name" : "031" + "name" : "031", + "id" : "031" }, { + "id" : "032", "data" : [ [ "Perl", @@ -1182,12 +575,11 @@ 10 ] ], - "name" : "032", - "id" : "032" + "name" : "032" }, { - "name" : "033", "id" : "033", + "name" : "033", "data" : [ [ "Perl", @@ -1204,8 +596,8 @@ ] }, { - "name" : "034", "id" : "034", + "name" : "034", "data" : [ [ "Perl", @@ -1222,8 +614,6 @@ ] }, { - "name" : "035", - "id" : "035", "data" : [ [ "Perl", @@ -1237,7 +627,9 @@ "Blog", 9 ] - ] + ], + "name" : "035", + "id" : "035" }, { "data" : [ @@ -1258,6 +650,7 @@ "id" : "036" }, { + "name" : "037", "data" : [ [ "Perl", @@ -1272,10 +665,11 @@ 9 ] ], - "id" : "037", - "name" : "037" + "id" : "037" }, { + "id" : "038", + "name" : "038", "data" : [ [ "Perl", @@ -1289,11 +683,10 @@ "Blog", 12 ] - ], - "name" : "038", - "id" : "038" + ] }, { + "id" : "039", "data" : [ [ "Perl", @@ -1308,12 +701,10 @@ 12 ] ], - "id" : "039", "name" : "039" }, { "name" : "040", - "id" : "040", "data" : [ [ "Perl", @@ -1327,9 +718,12 @@ "Blog", 10 ] - ] + ], + "id" : "040" }, { + "id" : "041", + "name" : "041", "data" : [ [ "Perl", @@ -1343,11 +737,10 @@ "Blog", 9 ] - ], - "name" : "041", - "id" : "041" + ] }, { + "id" : "042", "data" : [ [ "Perl", @@ -1362,10 +755,10 @@ 11 ] ], - "id" : "042", "name" : "042" }, { + "id" : "043", "data" : [ [ "Perl", @@ -1380,10 +773,10 @@ 11 ] ], - "id" : "043", "name" : "043" }, { + "name" : "044", "data" : [ [ "Perl", @@ -1398,11 +791,9 @@ 11 ] ], - "id" : "044", - "name" : "044" + "id" : "044" }, { - "id" : "045", "name" : "045", "data" : [ [ @@ -1417,9 +808,11 @@ "Blog", 11 ] - ] + ], + "id" : "045" }, { + "name" : "046", "data" : [ [ "Perl", @@ -1434,10 +827,10 @@ 10 ] ], - "id" : "046", - "name" : "046" + "id" : "046" }, { + "name" : "047", "data" : [ [ "Perl", @@ -1452,10 +845,11 @@ 10 ] ], - "id" : "047", - "name" : "047" + "id" : "047" }, { + "id" : "048", + "name" : "048", "data" : [ [ "Perl", @@ -1469,9 +863,7 @@ "Blog", 12 ] - ], - "name" : "048", - "id" : "048" + ] }, { "id" : "049", @@ -1492,6 +884,7 @@ ] }, { + "id" : "050", "data" : [ [ "Perl", @@ -1506,12 +899,10 @@ 12 ] ], - "name" : "050", - "id" : "050" + "name" : "050" }, { "name" : "051", - "id" : "051", "data" : [ [ "Perl", @@ -1525,11 +916,10 @@ "Blog", 11 ] - ] + ], + "id" : "051" }, { - "id" : "052", - "name" : "052", "data" : [ [ "Perl", @@ -1543,10 +933,11 @@ "Blog", 14 ] - ] + ], + "name" : "052", + "id" : "052" }, { - "id" : "053", "name" : "053", "data" : [ [ @@ -1561,11 +952,11 @@ "Blog", 15 ] - ] + ], + "id" : "053" }, { "name" : "054", - "id" : "054", "data" : [ [ "Perl", @@ -1579,11 +970,11 @@ "Blog", 18 ] - ] + ], + "id" : "054" }, { "name" : "055", - "id" : "055", "data" : [ [ "Perl", @@ -1597,10 +988,10 @@ "Blog", 14 ] - ] + ], + "id" : "055" }, { - "id" : "056", "name" : "056", "data" : [ [ @@ -1615,11 +1006,10 @@ "Blog", 16 ] - ] + ], + "id" : "056" }, { - "id" : "057", - "name" : "057", "data" : [ [ "Perl", @@ -1633,11 +1023,12 @@ "Blog", 15 ] - ] + ], + "name" : "057", + "id" : "057" }, { "id" : "058", - "name" : "058", "data" : [ [ "Perl", @@ -1651,10 +1042,10 @@ "Blog", 13 ] - ] + ], + "name" : "058" }, { - "id" : "059", "name" : "059", "data" : [ [ @@ -1669,9 +1060,11 @@ "Blog", 16 ] - ] + ], + "id" : "059" }, { + "name" : "060", "data" : [ [ "Perl", @@ -1686,12 +1079,11 @@ 16 ] ], - "id" : "060", - "name" : "060" + "id" : "060" }, { - "name" : "061", "id" : "061", + "name" : "061", "data" : [ [ "Perl", @@ -1708,6 +1100,8 @@ ] }, { + "id" : "062", + "name" : "062", "data" : [ [ "Perl", @@ -1721,13 +1115,9 @@ "Blog", 11 ] - ], - "name" : "062", - "id" : "062" + ] }, { - "name" : "063", - "id" : "063", "data" : [ [ "Perl", @@ -1741,11 +1131,11 @@ "Blog", 13 ] - ] + ], + "name" : "063", + "id" : "063" }, { - "name" : "064", - "id" : "064", "data" : [ [ "Perl", @@ -1759,9 +1149,13 @@ "Blog", 16 ] - ] + ], + "name" : "064", + "id" : "064" }, { + "id" : "065", + "name" : "065", "data" : [ [ "Perl", @@ -1775,12 +1169,9 @@ "Blog", 15 ] - ], - "name" : "065", - "id" : "065" + ] }, { - "name" : "066", "id" : "066", "data" : [ [ @@ -1795,11 +1186,10 @@ "Blog", 14 ] - ] + ], + "name" : "066" }, { - "name" : "067", - "id" : "067", "data" : [ [ "Perl", @@ -1813,11 +1203,11 @@ "Blog", 18 ] - ] + ], + "name" : "067", + "id" : "067" }, { - "name" : "068", - "id" : "068", "data" : [ [ "Perl", @@ -1831,9 +1221,12 @@ "Blog", 13 ] - ] + ], + "name" : "068", + "id" : "068" }, { + "name" : "069", "data" : [ [ "Perl", @@ -1848,12 +1241,9 @@ 16 ] ], - "id" : "069", - "name" : "069" + "id" : "069" }, { - "name" : "070", - "id" : "070", "data" : [ [ "Perl", @@ -1867,11 +1257,12 @@ "Blog", 17 ] - ] + ], + "name" : "070", + "id" : "070" }, { "name" : "071", - "id" : "071", "data" : [ [ "Perl", @@ -1885,11 +1276,10 @@ "Blog", 15 ] - ] + ], + "id" : "071" }, { - "id" : "072", - "name" : "072", "data" : [ [ "Perl", @@ -1903,7 +1293,9 @@ "Blog", 19 ] - ] + ], + "name" : "072", + "id" : "072" }, { "data" : [ @@ -1924,8 +1316,8 @@ "id" : "073" }, { - "name" : "074", "id" : "074", + "name" : "074", "data" : [ [ "Perl", @@ -1942,6 +1334,7 @@ ] }, { + "id" : "075", "data" : [ [ "Perl", @@ -1956,8 +1349,7 @@ 20 ] ], - "name" : "075", - "id"