From fc6722884c71fa57a7a02b97fbaa3d39f8215d6c Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 21 Jun 2022 23:30:55 +0100 Subject: - Added solutions by Ulrich Rieke. --- challenge-170/ulrich-rieke/cpp/ch-1.cpp | 29 + challenge-170/ulrich-rieke/cpp/ch-2.cpp | 97 ++ challenge-170/ulrich-rieke/haskell/ch-1.hs | 17 + challenge-170/ulrich-rieke/haskell/ch-2.hs | 12 + challenge-170/ulrich-rieke/perl/ch-1.pl | 30 + challenge-170/ulrich-rieke/perl/ch-2.pl | 82 + challenge-170/ulrich-rieke/raku/ch-1.raku | 14 + stats/pwc-current.json | 159 +- stats/pwc-language-breakdown-summary.json | 76 +- stats/pwc-language-breakdown.json | 2384 ++++++++++++++-------------- stats/pwc-leaders.json | 404 ++--- stats/pwc-summary-1-30.json | 100 +- stats/pwc-summary-121-150.json | 52 +- stats/pwc-summary-151-180.json | 40 +- stats/pwc-summary-181-210.json | 30 +- stats/pwc-summary-211-240.json | 32 +- stats/pwc-summary-241-270.json | 44 +- stats/pwc-summary-31-60.json | 122 +- stats/pwc-summary-61-90.json | 30 +- stats/pwc-summary-91-120.json | 104 +- stats/pwc-summary.json | 558 +++---- 21 files changed, 2358 insertions(+), 2058 deletions(-) create mode 100644 challenge-170/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-170/ulrich-rieke/cpp/ch-2.cpp create mode 100644 challenge-170/ulrich-rieke/haskell/ch-1.hs create mode 100644 challenge-170/ulrich-rieke/haskell/ch-2.hs create mode 100644 challenge-170/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-170/ulrich-rieke/perl/ch-2.pl create mode 100644 challenge-170/ulrich-rieke/raku/ch-1.raku diff --git a/challenge-170/ulrich-rieke/cpp/ch-1.cpp b/challenge-170/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..024c1046ca --- /dev/null +++ b/challenge-170/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,29 @@ +#include +#include +#include + +bool isPrime( int number ) { + int stop = std::sqrt( static_cast( number ) ) ; + for ( int i = 2 ; i <= stop ; ++i ) + if ( number % i == 0 ) + return false ; + return true ; +} + +int main( ) { + std::vector firstPrimes { 1 } ; + int current = 2 ; + while ( firstPrimes.size( ) != 10 ) { + if ( isPrime( current ) ) + firstPrimes.push_back( current ) ; + current++ ; + } + std::vector primorials { 1 } ; + for ( int i = 1 ; i < 10 ; i++ ) { + primorials.push_back( primorials.back( ) * firstPrimes[ i ] ) ; + } + for ( int n : primorials ) + std::cout << n << ' ' ; + std::cout << std::endl ; + return 0 ; +} diff --git a/challenge-170/ulrich-rieke/cpp/ch-2.cpp b/challenge-170/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..bd6fee64b1 --- /dev/null +++ b/challenge-170/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,97 @@ +#include +#include +#include +#include +#include + +void printMatrix( const std::vector> & matrix ) { + std::vector maxima ; + for ( const auto & row : matrix ) { + maxima.push_back( *std::max_element( row.begin( ) , row.end( ) , []( const auto + numa , const auto numb){ return numa > numb ; })) ; + } + int maxWidth = std::to_string(*std::max_element( maxima.begin( ) , maxima.end( )) + 1). + length( ) ; + for ( const auto row : matrix ) { + std::cout << '[' ; + for ( const auto num : row ) { + std::cout.width( maxWidth ) ; + std::cout << num << ' ' ; + } + std::cout << "]\n" ; + } +} + +std::vector findRow( const std::vector & firstRow, const std::vector + & secondRow ) { + std::vector result ; + for ( int i : firstRow ) { + for ( int j : secondRow ) { + result.push_back( i * j ) ; + } + } + return result ; +} + +std::vector> findBlock( const std::vector & aRow , + const std::vector> & aBlock ) { + std::vector> dataBlock ; + for ( const auto & blockRow : aBlock ) + dataBlock.push_back( findRow( aRow , blockRow ) ) ; + return dataBlock ; +} + +std::vector> kronecker ( const std::vector> & + firstMatrix , const std::vector> & secondMatrix ) { + std::vector> kronProduct ; + for ( const auto & row : firstMatrix ) { + std::vector> partialBlock = findBlock( row, secondMatrix ) ; + for ( const auto & row : partialBlock ) + kronProduct.push_back( row ) ; + } + return kronProduct ; +} + +std::vector> enterMatrix( ) { + std::vector> aMatrix ; + std::vector row ; + std::cout << "Please enter natural numbers , end to end a row, ready to end matr.\n" ; + std::string number ; + std::getline( std::cin , number ) ; + while ( number != "ready" ) { + if ( number != "end" ) { + row.push_back( std::stoi( number ) ) ; + } + else { + aMatrix.push_back( row ) ; + row.clear( ) ; + } + std::getline( std::cin , number ) ; + } + int len = aMatrix.begin( )->size( ) ; + std::cout << len << '\n' ; + while ( ! std::all_of( aMatrix.begin( ) , aMatrix.end( ) , [len]( auto & row ) { + return row.size( ) == len ; })) { + std::cout << "Invalid entry! All rows should contain same quantity of numbers!\n" ; + aMatrix.clear( ) ; + row.clear( ) ; + std::getline( std::cin , number ) ; + while ( number != "ready" ) { + while ( number != "end" ) { + row.push_back( std::stoi( number ) ) ; + std::getline( std::cin , number ) ; + } + aMatrix.push_back( row ) ; + std::getline( std::cin , number ) ; + } + } + return aMatrix ; +} + +int main( ) { + std::vector> firstMatrix = enterMatrix( ) ; + std::vector> secondMatrix = enterMatrix( ) ; + std::vector> kronProduct = kronecker( firstMatrix , secondMatrix ) ; + printMatrix( kronProduct ) ; + return 0 ; +} diff --git a/challenge-170/ulrich-rieke/haskell/ch-1.hs b/challenge-170/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..79642a9927 --- /dev/null +++ b/challenge-170/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,17 @@ +module Challenge170 + where + +isPrime :: Int -> Bool +isPrime n + |n == 2 = True + |n == 1 = False + |otherwise = null $ filter (\i -> mod n i == 0 ) [2 .. root] + where + root :: Int + root = floor $ sqrt $ fromIntegral n + +primorials :: [Int] +primorials = map (\i -> product $ take i firstPrimes ) [1 .. 10] +where + firstPrimes :: [Int] + firstPrimes = [1] ++ (take 9 $ filter isPrime [2 , 3 ..]) diff --git a/challenge-170/ulrich-rieke/haskell/ch-2.hs b/challenge-170/ulrich-rieke/haskell/ch-2.hs new file mode 100644 index 0000000000..fb216ea7d7 --- /dev/null +++ b/challenge-170/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,12 @@ +module Challenge170_2 + where + +createRow :: [Int] -> [Int] -> [Int] +createRow row otherRow = concat $ map (\i -> map ( *i ) otherRow ) row + +createBlock :: [Int] -> [[Int]] -> [[Int]] +createBlock row block = map (\line -> createRow row line) block + +kronecker :: [[Int]] -> [[Int]] -> [[Int]] +kronecker firstMatrix secondMatrix = concatMap (\line -> createBlock line +secondMatrix ) firstMatrix diff --git a/challenge-170/ulrich-rieke/perl/ch-1.pl b/challenge-170/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..581619ace7 --- /dev/null +++ b/challenge-170/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,30 @@ +use strict ; +use warnings ; +use feature 'say' ; +use POSIX ; + +sub isPrime { + my $number = shift ; + my $stop = sqrt( $number ) ; + for my $i ( 2 .. floor( $stop )) { + if ( $number % $i == 0 ) { + return 0 ; + } + } + return 1 ; +} + +my @primeNumbers = ( 1 ) ; +my @primorials ; +my $current = 2 ; +while ( scalar( @primeNumbers ) != 10 ) { + if ( isPrime( $current ) ) { + push @primeNumbers, $current ; + } + $current++ ; +} +push @primorials, 1 ; +for my $i (1 .. 9) { + push @primorials , $primorials[-1] * $primeNumbers[ $i ] ; +} +say join( ', ' , @primorials ) ; diff --git a/challenge-170/ulrich-rieke/perl/ch-2.pl b/challenge-170/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..ff3c340b42 --- /dev/null +++ b/challenge-170/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,82 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw ( max ) ; + +sub createRow { + my $firstLine = shift ; + my $secondLine = shift ; + my @result ; + for my $n1 ( split( /\s+/ , $firstLine )) { + for my $n2 ( split( /\s+/ , $secondLine )) { + push @result , $n1 * $n2 ; + } + } + return join( ' ' , @result ) ; +} + +sub createBlockFromLine { + my $line = shift ; + my $block = shift ; + my @result ; + for my $row( @$block ) { + push @result , createRow( $line , $row ) ; + } + return @result ; +} + +sub kronecker { + my $firstMatrix = shift ; + my $secondMatrix = shift ; + my @result ; + for my $row( @$firstMatrix ) { + push @result , createBlockFromLine( $row , $secondMatrix ) ; + } + return @result ; +} + +sub printMatrix { + my $matrix = shift ; + my @allNumbers ; + for my $row( @$matrix ) { + for my $num( split( /\s/ , $row )) { + push @allNumbers , $num ; + } + } + my $maxLen = length ( max( @allNumbers ) . "" ) + 1 ; + for my $row( @$matrix ) { + print '[' ; + for my $num( split( /\s/ , $row )) { + print (' ' x ( $maxLen - ( length ($num . "" ))) . $num . ' ') ; + } + say ']' ; + } +} + +sub enterMatrix { + say "Please enter a natural numbers separated by spaces!" ; + say "Enter end to stop matrix entry!" ; + my @matrix ; + my $line = ; + chomp $line ; + my $numberCount = scalar( split( /\s+/ , $line ) ) ; + while ( $line ne "end" ) { + my $nextNumberCount = scalar( split( /\s+/ , $line )) ; + if ( $nextNumberCount == $numberCount ) { + push @matrix , $line ; + } + else { + say "You should enter as many numbers as in the first line of the matrix!" ; + say "Re-enter!" ; + } + $line = ; + chomp $line ; + } + return @matrix ; +} + +my @firstMatrix = enterMatrix( ) ; +my @secondMatrix = enterMatrix( ) ; +my @kron_product = kronecker( \@firstMatrix , \@secondMatrix ) ; +printMatrix (\@kron_product ) ; diff --git a/challenge-170/ulrich-rieke/raku/ch-1.raku b/challenge-170/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..547a669518 --- /dev/null +++ b/challenge-170/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,14 @@ +use v6 ; +my @primorials ; +my @firstPrimes = 1 ; +my $current = 2 ; +while ( @firstPrimes.elems != 10 ) { + if ( $current.is-prime ) { + @firstPrimes.push( $current ) ; + } + $current++ ; +} +for (0..9) -> $i { + @primorials.push( [*] @firstPrimes[ 0 .. $i] ) ; +} +say @primorials.join( ',' ) ; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 9f55f01b37..728cfff2d3 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,21 +1,20 @@ { "series" : [ { - "name" : "The Weekly Challenge - 170", "data" : [ { + "drilldown" : "Cheok-Yin Fung", "y" : 2, - "name" : "Cheok-Yin Fung", - "drilldown" : "Cheok-Yin Fung" + "name" : "Cheok-Yin Fung" }, { - "drilldown" : "Dave Jacoby", "y" : 2, + "drilldown" : "Dave Jacoby", "name" : "Dave Jacoby" }, { - "drilldown" : "E. Choroba", "name" : "E. Choroba", + "drilldown" : "E. Choroba", "y" : 2 }, { @@ -24,104 +23,79 @@ "drilldown" : "James Smith" }, { - "drilldown" : "Luca Ferrari", "y" : 8, + "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari" }, { - "y" : 2, "name" : "Marton Polgar", - "drilldown" : "Marton Polgar" + "drilldown" : "Marton Polgar", + "y" : 2 }, { - "drilldown" : "Matthew Neleigh", "name" : "Matthew Neleigh", + "drilldown" : "Matthew Neleigh", "y" : 2 }, { + "name" : "Peter Campbell Smith", "drilldown" : "Peter Campbell Smith", - "y" : 3, - "name" : "Peter Campbell Smith" + "y" : 3 }, { + "name" : "Robert DiCicco", "drilldown" : "Robert DiCicco", - "y" : 2, - "name" : "Robert DiCicco" + "y" : 2 }, { - "y" : 4, "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West" + "drilldown" : "Roger Bell_West", + "y" : 4 }, { - "drilldown" : "Stephen G Lynn", "name" : "Stephen G Lynn", - "y" : 4 + "y" : 4, + "drilldown" : "Stephen G Lynn" + }, + { + "name" : "Ulrich Rieke", + "y" : 3, + "drilldown" : "Ulrich Rieke" }, { - "name" : "W. Luis Mochan", "y" : 3, - "drilldown" : "W. Luis Mochan" + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan" } ], + "name" : "The Weekly Challenge - 170", "colorByPoint" : 1 } ], - "legend" : { - "enabled" : 0 - }, "title" : { "text" : "The Weekly Challenge - 170" }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "[Champions: 12] Last updated at 2022-06-21 22:17:58 GMT" - }, - "chart" : { - "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, "drilldown" : { "series" : [ { - "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung" }, { - "id" : "Dave Jacoby", - "name" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Dave Jacoby", + "id" : "Dave Jacoby" }, { "data" : [ @@ -130,12 +104,12 @@ 2 ] ], - "id" : "E. Choroba", - "name" : "E. Choroba" + "name" : "E. Choroba", + "id" : "E. Choroba" }, { - "name" : "James Smith", "id" : "James Smith", + "name" : "James Smith", "data" : [ [ "Perl", @@ -148,6 +122,7 @@ ] }, { + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -158,7 +133,6 @@ 6 ] ], - "id" : "Luca Ferrari", "name" : "Luca Ferrari" }, { @@ -168,8 +142,8 @@ 2 ] ], - "id" : "Marton Polgar", - "name" : "Marton Polgar" + "name" : "Marton Polgar", + "id" : "Marton Polgar" }, { "id" : "Matthew Neleigh", @@ -183,7 +157,6 @@ }, { "id" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -193,9 +166,11 @@ "Blog", 1 ] - ] + ], + "name" : "Peter Campbell Smith" }, { + "id" : "Robert DiCicco", "data" : [ [ "Perl", @@ -206,7 +181,6 @@ 1 ] ], - "id" : "Robert DiCicco", "name" : "Robert DiCicco" }, { @@ -220,10 +194,11 @@ 2 ] ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { + "name" : "Stephen G Lynn", "data" : [ [ "Perl", @@ -234,11 +209,23 @@ 2 ] ], - "name" : "Stephen G Lynn", "id" : "Stephen G Lynn" }, { - "name" : "W. Luis Mochan", + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 1 + ] + ], + "name" : "Ulrich Rieke" + }, + { "id" : "W. Luis Mochan", "data" : [ [ @@ -249,8 +236,40 @@ "Blog", 1 ] - ] + ], + "name" : "W. Luis Mochan" } ] + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "legend" : { + "enabled" : 0 + }, + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "subtitle" : { + "text" : "[Champions: 13] Last updated at 2022-06-21 22:29:30 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 5033ce8f8d..2a7a66f852 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,34 +1,6 @@ { - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : "false" - }, "series" : [ { - "name" : "Contributions", - "dataLabels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "enabled" : "true", - "y" : 10, - "format" : "{point.y:.0f}", - "align" : "right", - "rotation" : -90, - "color" : "#FFFFFF" - }, "data" : [ [ "Blog", @@ -36,28 +8,56 @@ ], [ "Perl", - 8265 + 8267 ], [ "Raku", - 4905 + 4906 ] - ] + ], + "name" : "Contributions", + "dataLabels" : { + "rotation" : -90, + "enabled" : "true", + "align" : "right", + "color" : "#FFFFFF", + "y" : 10, + "format" : "{point.y:.0f}", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } } ], - "subtitle" : { - "text" : "Last updated at 2022-06-21 22:17:58 GMT" + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" }, "xAxis" : { - "type" : "category", "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } + }, + "type" : "category" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null } }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Last updated at 2022-06-21 22:29:29 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index a45878fd66..3064dda610 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -2,881 +2,9 @@ "legend" : { "enabled" : "false" }, - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true", - "headerFormat" : "" - }, - "series" : [ - { - "data" : [ - { - "y" : 161, - "name" : "#001", - "drilldown" : "001" - }, - { - "drilldown" : "002", - "y" : 125, - "name" : "#002" - }, - { - "name" : "#003", - "y" : 83, - "drilldown" : "003" - }, - { - "y" : 99, - "name" : "#004", - "drilldown" : "004" - }, - { - "drilldown" : "005", - "name" : "#005", - "y" : 78 - }, - { - "y" : 58, - "name" : "#006", - "drilldown" : "006" - }, - { - "name" : "#007", - "y" : 64, - "drilldown" : "007" - }, - { - "drilldown" : "008", - "y" : 78, - "name" : "#008" - }, - { - "name" : "#009", - "y" : 76, - "drilldown" : "009" - }, - { - "name" : "#010", - "y" : 65, - "drilldown" : "010" - }, - { - "y" : 85, - "name" : "#011", - "drilldown" : "011" - }, - { - "drilldown" : "012", - "name" : "#012", - "y" : 89 - }, - { - "drilldown" : "013", - "y" : 85, - "name" : "#013" - }, - { - "drilldown" : "014", - "y" : 101, - "name" : "#014" - }, - { - "y" : 99, - "name" : "#015", - "drilldown" : "015" - }, - { - "name" : "#016", - "y" : 71, - "drilldown" : "016" - }, - { - "y" : 84, - "name" : "#017", - "drilldown" : "017" - }, - { - "y" : 81, - "name" : "#018", - "drilldown" : "018" - }, - { - "y" : 103, - "name" : "#019", - "drilldown" : "019" - }, - { - "drilldown" : "020", - "name" : "#020", - "y" : 101 - }, - { - "drilldown" : "021", - "name" : "#021", - "y" : 72 - }, - { - "y" : 68, - "name" : "#022", - "drilldown" : "022" - }, - { - "y" : 97, - "name" : "#023", - "drilldown" : "023" - }, - { - "drilldown" : "024", - "y" : 75, - "name" : "#024" - }, - { - "name" : "#025", - "y" : 59, - "drilldown" : "025" - }, - { - "drilldown" : "026", - "y" : 74, - "name" : "#026" - }, - { - "drilldown" : "027", - "y" : 62, - "name" : "#027" - }, - { - "drilldown" : "028", - "name" : "#028", - "y" : 82 - }, - { - "drilldown" : "029", - "name" : "#029", - "y" : 81 - }, - { - "name" : "#030", - "y" : 119, - "drilldown" : "030" - }, - { - "y" : 91, - "name" : "#031", - "drilldown" : "031" - }, - { - "drilldown" : "032", - "y" : 96, - "name" : "#032" - }, - { - "y" : 112, - "name" : "#033", - "drilldown" : "033" - }, - { - "drilldown" : "034", - "y" : 66, - "name" : "#034" - }, - { - "drilldown" : "035", - "y" : 66, - "name" : "#035" - }, - { - "drilldown" : "036", - "name" : "#036", - "y" : 70 - }, - { - "y" : 69, - "name" : "#037", - "drilldown" : "037" - }, - { - "drilldown" : "038", - "y" : 70, - "name" : "#038" - }, - { - "drilldown" : "039", - "y" : 64, - "name" : "#039" - }, - { - "drilldown" : "040", - "y" : 75, - "name" : "#040" - }, - { - "y" : 78, - "name" : "#041", - "drilldown" : "041" - }, - { - "drilldown" : "042", - "name" : "#042", - "y" : 94 - }, - { - "name" : "#043", - "y" : 70, - "drilldown" : "043" - }, - { - "drilldown" : "044", - "y" : 87, - "name" : "#044" - }, - { - "drilldown" : "045", - "y" : 98, - "name" : "#045" - }, - { - "y" : 89, - "name" : "#046", - "drilldown" : "046" - }, - { - "name" : "#047", - "y" : 86, - "drilldown" : "047" - }, - { - "y" : 110, - "name" : "#048", - "drilldown" : "048" - }, - { - "y" : 91, - "name" : "#049", - "drilldown" : "049" - }, - { - "y" : 100, - "name" : "#050", - "drilldown" : "050" - }, - { - "name" : "#051", - "y" : 91, - "drilldown" : "051" - }, - { - "drilldown" : "052", - "name" : "#052", - "y" : 93 - }, - { - "drilldown" : "053", - "y" : 103, - "name" : "#053" - }, - { - "drilldown" : "054", - "name" : "#054", - "y" : 105 - }, - { - "drilldown" : "055", - "name" : "#055", - "y" : 90 - }, - { - "drilldown" : "056", - "name" : "#056", - "y" : 97 - }, - { - "drilldown" : "057", - "y" : 82, - "name" : "#057" - }, - { - "name" : "#058", - "y" : 71, - "drilldown" : "058" - }, - { - "drilldown" : "059", - "y" : 91, - "name" : "#059" - }, - { - "drilldown" : "060", - "y" : 87, - "name" : "#060" - }, - { - "drilldown" : "061", - "name" : "#061", - "y" : 83 - }, - { - "drilldown" : "062", - "y" : 60, - "name" : "#062" - }, - { - "drilldown" : "063", - "y" : 91, - "name" : "#063" - }, - { - "name" : "#064", - "y" : 82, - "drilldown" : "064" - }, - { - "drilldown" : "065", - "y" : 75, - "name" : "#065" - }, - { - "drilldown" : "066", - "y" : 86, - "name" : "#066" - }, - { - "y" : 92, - "name" : "#067", - "drilldown" : "067" - }, - { - "name" : "#068", - "y" : 77, - "drilldown" : "068" - }, - { - "y" : 85, - "name" : "#069", - "drilldown" : "069" - }, - { - "drilldown" : "070", - "name" : "#070", - "y" : 95 - }, - { - "y" : 80, - "name" : "#071", - "drilldown" : "071" - }, - { - "name" : "#072", - "y" : 114, - "drilldown" : "072" - }, - { - "drilldown" : "073", - "y" : 112, - "name" : "#073" - }, - { - "drilldown" : "074", - "y" : 117, - "name" : "#074" - }, - { - "y" : 117, - "name" : "#075", - "drilldown" : "075" - }, - { - "drilldown" : "076", - "y" : 101, - "name" : "#076" - }, - { - "name" : "#077", - "y" : 100, - "drilldown" : "077" - }, - { - "drilldown" : "078", - "y" : 127, - "name" : "#078" - }, - { - "y" : 122, - "name" : "#079", - "drilldown" : "079" - }, - { - "name" : "#080", - "y" : 127, - "drilldown" : "080" - }, - { - "name" : "#081", - "y" : 114, - "drilldown" : "081" - }, - { - "drilldown" : "082", - "name" : "#082", - "y" : 114 - }, - { - "y" : 127, - "name" : "#083", - "drilldown" : "083" - }, - { - "y" : 119, - "name" : "#084", - "drilldown" : "084" - }, - { - "drilldown" : "085", - "name" : "#085", - "y" : 114 - }, - { - "name" : "#086", - "y" : 104, - "drilldown" : "086" - }, - { - "drilldown" : "087", - "y" : 101, - "name" : "#087" - }, - { - "name" : "#088", - "y" : 121, - "drilldown" : "088" - }, - { - "drilldown" : "089", - "y" : 113, - "name" : "#089" - }, - { - "name" : "#090", - "y" : 113, - "drilldown" : "090" - }, - { - "drilldown" : "091", - "name" : "#091", - "y" : 108 - }, - { - "drilldown" : "092", - "name" : "#092", - "y" : 98 - }, - { - "name" : "#093", - "y" : 87, - "drilldown" : "093" - }, - { - "y" : 87, - "name" : "#094", - "drilldown" : "094" - }, - { - "name" : "#095", - "y" : 108, - "drilldown" : "095" - }, - { - "drilldown" : "096", - "y" : 108, - "name" : "#096" - }, - { - "y" : 111, - "name" : "#097", - "drilldown" : "097" - }, - { - "drilldown" : "098", - "y" : 108, - "name" : "#098" - }, - { - "drilldown" : "099", - "name" : "#099", - "y" : 97 - }, - { - "drilldown" : "100", - "name" : "#100", - "y" : 120 - }, - { - "name" : "#101", - "y" : 83, - "drilldown" : "101" - }, - { - "y" : 90, - "name" : "#102", - "drilldown" : "102" - }, - { - "drilldown" : "103", - "y" : 79, - "name" : "#103" - }, - { - "y" : 85, - "name" : "#104", - "drilldown" : "104" - }, - { - "y" : 75, - "name" : "#105", - "drilldown" : "105" - }, - { - "y" : 97, - "name" : "#106", - "drilldown" : "106" - }, - { - "drilldown" : "107", - "name" : "#107", - "y" : 90 - }, - { - "drilldown" : "108", - "y" : 94, - "name" : "#108" - }, - { - "name" : "#109", - "y" : 107, - "drilldown" : "109" - }, - { - "y" : 108, - "name" : "#110", - "drilldown" : "110" - }, - { - "name" : "#111", - "y" : 91, - "drilldown" : "111" - }, - { - "drilldown" : "112", - "y" : 92, - "name" : "#112" - }, - { - "name" : "#113", - "y" : 92, - "drilldown" : "113" - }, - { - "drilldown" : "114", - "name" : "#114", - "y" : 108 - }, - { - "name" : "#115", - "y" : 96, - "drilldown" : "115" - }, - { - "drilldown" : "116", - "y" : 95, - "name" : "#116" - }, - { - "name" : "#117", - "y" : 97, - "drilldown" : "117" - }, - { - "drilldown" : "118", - "y" : 83, - "name" : "#118" - }, - { - "drilldown" : "119", - "name" : "#119", - "y" : 125 - }, - { - "drilldown" : "120", - "y" : 116, - "name" : "#120" - }, - { - "drilldown" : "121", - "name" : "#121", - "y" : 92 - }, - { - "y" : 110, - "name" : "#122", - "drilldown" : "122" - }, - { - "drilldown" : "123", - "y" : 105, - "name" : "#123" - }, - { - "drilldown" : "124", - "y" : 85, - "name" : "#124" - }, - { - "name" : "#125", - "y" : 63, - "drilldown" : "125" - }, - { - "name" : "#126", - "y" : 113, - "drilldown" : "126" - }, - { - "drilldown" : "127", - "name" : "#127", - "y" : 110 - }, - { - "drilldown" : "128", - "name" : "#128", - "y" : 71 - }, - { - "drilldown" : "129", - "name" : "#129", - "y" : 50 - }, - { - "drilldown" : "130", - "name" : "#130", - "y" : 73 - }, - { - "drilldown" : "131", - "name" : "#131", - "y" : 91 - }, - { - "name" : "#132", - "y" : 78, - "drilldown" : "132" - }, - { - "y" : 95, - "name" : "#133", - "drilldown" : "133" - }, - { - "drilldown" : "134", - "y" : 94, - "name" : "#134" - }, - { - "name" : "#135", - "y" : 104, - "drilldown" : "135" - }, - { - "y" : 95, - "name" : "#136", - "drilldown" : "136" - }, - { - "y" : 100, - "name" : "#137", - "drilldown" : "137" - }, - { - "y" : 102, - "name" : "#138", - "drilldown" : "138" - }, - { - "drilldown" : "139", - "name" : "#139", - "y" : 97 - }, - { - "name" : "#140", - "y" : 103, - "drilldown" : "140" - }, - { - "drilldown" : "141", - "name" : "#141", - "y" : 102 - }, - { - "drilldown" : "142", - "name" : "#142", - "y" : 83 - }, - { - "drilldown" : "143", - "y" : 81, - "name" : "#143" - }, - { - "drilldown" : "144", - "y" : 85, - "name" : "#144" - }, - { - "drilldown" : "145", - "y" : 93, - "name" : "#145" - }, - { - "drilldown" : "146", - "name" : "#146", - "y" : 105 - }, - { - "name" : "#147", - "y" : 106, - "drilldown" : "147" - }, - { - "y" : 92, - "name" : "#148", - "drilldown" : "148" - }, - { - "name" : "#149", - "y" : 88, - "drilldown" : "149" - }, - { - "drilldown" : "150", - "name" : "#150", - "y" : 106 - }, - { - "name" : "#151", - "y" : 77, - "drilldown" : "151" - }, - { - "y" : 80, - "name" : "#152", - "drilldown" : "152" - }, - { - "drilldown" : "153", - "y" : 97, - "name" : "#153" - }, - { - "drilldown" : "154", - "name" : "#154", - "y" : 106 - }, - { - "drilldown" : "155", - "y" : 99, - "name" : "#155" - }, - { - "drilldown" : "156", - "y" : 96, - "name" : "#156" - }, - { - "drilldown" : "157", - "y" : 95, - "name" : "#157" - }, - { - "name" : "#158", - "y" : 105, - "drilldown" : "158" - }, - { - "y" : 92, - "name" : "#159", - "drilldown" : "159" - }, - { - "drilldown" : "160", - "y" : 119, - "name" : "#160" - }, - { - "name" : "#161", - "y" : 100, - "drilldown" : "161" - }, - { - "name" : "#162", - "y" : 92, - "drilldown" : "162" - }, - { - "drilldown" : "163", - "name" : "#163", - "y" : 114 - }, - { - "name" : "#164", - "y" : 118, - "drilldown" : "164" - }, - { - "drilldown" : "165", - "y" : 76, - "name" : "#165" - }, - { - "drilldown" : "166", - "name" : "#166", - "y" : 77 - }, - { - "drilldown" : "167", - "y" : 73, - "name" : "#167" - }, - { - "drilldown" : "168", - "name" : "#168", - "y" : 96 - }, - { - "name" : "#169", - "y" : 105, - "drilldown" : "169" - }, - { - "name" : "#170", - "y" : 37, - "drilldown" : "170" - } - ], - "colorByPoint" : "true", - "name" : "The Weekly Challenge Languages" - } - ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "chart" : { - "type" : "column" - }, "drilldown" : { "series" : [ { - "name" : "001", "id" : "001", "data" : [ [ @@ -891,9 +19,11 @@ "Blog", 11 ] - ] + ], + "name" : "001" }, { + "name" : "002", "data" : [ [ "Perl", @@ -908,12 +38,9 @@ 10 ] ], - "id" : "002", - "name" : "002" + "id" : "002" }, { - "name" : "003", - "id" : "003", "data" : [ [ "Perl", @@ -927,9 +54,12 @@ "Blog", 9 ] - ] + ], + "name" : "003", + "id" : "003" }, { + "name" : "004", "data" : [ [ "Perl", @@ -944,12 +74,11 @@ 10 ] ], - "id" : "004", - "name" : "004" + "id" : "004" }, { - "name" : "005", "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -966,8 +95,8 @@ ] }, { - "name" : "006", "id" : "006", + "name" : "006", "data" : [ [ "Perl", @@ -984,6 +113,7 @@ ] }, { + "name" : "007", "data" : [ [ "Perl", @@ -998,11 +128,9 @@ 10 ] ], - "id" : "007", - "name" : "007" + "id" : "007" }, { - "id" : "008", "name" : "008", "data" : [ [ @@ -1017,9 +145,11 @@ "Blog", 12 ] - ] + ], + "id" : "008" }, { + "name" : "009", "data" : [ [ "Perl", @@ -1034,10 +164,10 @@ 13 ] ], - "id" : "009", - "name" : "009" + "id" : "009" }, { + "id" : "010", "data" : [ [ "Perl", @@ -1052,12 +182,11 @@ 11 ] ], - "name" : "010", - "id" : "010" + "name" : "010" }, { - "name" : "011", "id" : "011", + "name" : "011", "data" : [ [ "Perl", @@ -1074,6 +203,7 @@ ] }, { + "id" : "012", "data" : [ [ "Perl", @@ -1088,11 +218,9 @@ 11 ] ], - "id" : "012", "name" : "012" }, { - "id" : "013", "name" : "013", "data" : [ [ @@ -1107,9 +235,11 @@ "Blog", 13 ] - ] + ], + "id" : "013" }, { + "name" : "014", "data" : [ [ "Perl", @@ -1124,12 +254,9 @@ 15 ] ], - "id" : "014", - "name" : "014" + "id" : "014" }, { - "id" : "015", - "name" : "015", "data" : [ [ "Perl", @@ -1143,7 +270,9 @@ "Blog", 15 ] - ] + ], + "name" : "015", + "id" : "015" }, { "data" : [ @@ -1218,7 +347,6 @@ "id" : "019" }, { - "id" : "020", "name" : "020", "data" : [ [ @@ -1233,9 +361,11 @@ "Blog", 13 ] - ] + ], + "id" : "020" }, { + "name" : "021", "data" : [ [ "Perl", @@ -1250,12 +380,10 @@ 10 ] ], - "id" : "021", - "name" : "021" + "id" : "021" }, { "name" : "022", - "id" : "022", "data" : [ [ "Perl", @@ -1269,11 +397,10 @@ "Blog", 10 ] - ] + ], + "id" : "022" }, { - "name" : "023", - "id" : "023", "data" : [ [ "Perl", @@ -1287,9 +414,13 @@ "Blog", 12 ] - ] + ], + "name" : "023", + "id" : "023" }, { + "id" : "024", + "name" : "024", "data" : [ [ "Perl", @@ -1303,11 +434,10 @@ "Blog", 11 ] - ], - "name" : "024", - "id" : "024" + ] }, { + "id" : "025", "data" : [ [ "Perl", @@ -1322,10 +452,10 @@ 12 ] ], - "name" : "025", - "id" : "025" + "name" : "025" }, { + "name" : "026", "data" : [ [ "Perl", @@ -1340,12 +470,11 @@ 10 ] ], - "id" : "026", - "name" : "026" + "id" : "026" }, { - "name" : "027", "id" : "027", + "name" : "027", "data" : [ [ "Perl", @@ -1362,7 +491,6 @@ ] }, { - "id" : "028", "name" : "028", "data" : [ [ @@ -1377,11 +505,11 @@ "Blog", 9 ] - ] + ], + "id" : "028" }, { "id" : "029", - "name" : "029", "data" : [ [ "Perl", @@ -1395,11 +523,10 @@ "Blog", 12 ] - ] + ], + "name" : "029" }, { - "name" : "030", - "id" : "030", "data" : [ [ "Perl", @@ -1413,10 +540,11 @@ "Blog", 10 ] - ] + ], + "name" : "030", + "id" : "030" }, { - "name" : "031", "id" : "031", "data" : [ [ @@ -1431,9 +559,11 @@ "Blog", 9 ] - ] + ], + "name" : "031" }, { + "id" : "032", "data" : [ [ "Perl", @@ -1448,12 +578,10 @@ 10 ] ], - "id" : "032", "name" : "032" }, { "id" : "033", - "name" : "033", "data" : [ [ "Perl", @@ -1467,11 +595,11 @@ "Blog", 10 ] - ] + ], + "name" : "033" }, { "name" : "034", - "id" : "034", "data" : [ [ "Perl", @@ -1485,9 +613,11 @@ "Blog", 11 ] - ] + ], + "id" : "034" }, { + "id" : "035", "data" : [ [ "Perl", @@ -1502,8 +632,7 @@ 9 ] ], - "name" : "035", - "id" : "035" + "name" : "035" }, { "id" : "036", @@ -1524,6 +653,7 @@ ] }, { + "name" : "037", "data" : [ [ "Perl", @@ -1538,11 +668,9 @@ 9 ] ], - "id" : "037", - "name" : "037" + "id" : "037" }, { - "id" : "038", "name" : "038", "data" : [ [ @@ -1557,11 +685,11 @@ "Blog", 12 ] - ] + ], + "id" : "038" }, { "name" : "039", - "id" : "039", "data" : [ [ "Perl", @@ -1575,9 +703,11 @@ "Blog", 12 ] - ] + ], + "id" : "039" }, { + "name" : "040", "data" : [ [ "Perl", @@ -1592,8 +722,7 @@ 10 ] ], - "id" : "040", - "name" : "040" + "id" : "040" }, { "id" : "041", @@ -1628,10 +757,11 @@ 11 ] ], - "id" : "042", - "name" : "042" + "name" : "042", + "id" : "042" }, { + "name" : "043", "data" : [ [ "Perl", @@ -1646,11 +776,9 @@ 11 ] ], - "name" : "043", "id" : "043" }, { - "name" : "044", "id" : "044", "data" : [ [ @@ -1665,9 +793,11 @@ "Blog", 11 ] - ] + ], + "name" : "044" }, { + "name" : "045", "data" : [ [ "Perl", @@ -1682,11 +812,9 @@ 11 ] ], - "name" : "045", "id" : "045" }, { - "id" : "046", "name" : "046", "data" : [ [ @@ -1701,7 +829,8 @@ "Blog", 10 ] - ] + ], + "id" : "046" }, { "data" : [ @@ -1718,10 +847,11 @@ 10 ] ], - "id" : "047", - "name" : "047" + "name" : "047", + "id" : "047" }, { + "id" : "048", "data" : [ [ "Perl", @@ -1736,7 +866,6 @@ 12 ] ], - "id" : "048", "name" : "048" }, { @@ -1758,7 +887,6 @@ ] }, { - "name" : "050", "id" : "050", "data" : [ [ @@ -1773,11 +901,10 @@ "Blog", 12 ] - ] + ], + "name" : "050" }, { - "id" : "051", - "name" : "051", "data" : [ [ "Perl", @@ -1791,9 +918,13 @@ "Blog", 11 ] - ] + ], + "name" : "051", + "id" : "051" }, { + "id" : "052", + "name" : "052", "data" : [ [ "Perl", @@ -1807,11 +938,11 @@ "Blog", 14 ] - ], - "name" : "052", - "id" : "052" + ] }, { + "id" : "053", + "name" : "053", "data" : [ [ "Perl", @@ -1825,11 +956,10 @@ "Blog", 15 ] - ], - "id" : "053", - "name" : "053" + ] }, { + "name" : "054", "data" : [ [ "Perl", @@ -1844,8 +974,7 @@ 18 ] ], - "id" : "054", - "name" : "054" + "id" : "054" }, { "data" : [ @@ -1867,7 +996,6 @@ }, { "name" : "056", - "id" : "056", "data" : [ [ "Perl", @@ -1881,10 +1009,10 @@ "Blog", 16 ] - ] + ], + "id" : "056" }, { - "name" : "057", "id" : "057", "data" : [ [ @@ -1899,7 +1027,8 @@ "Blog", 15 ] - ] + ], + "name" : "057" }, { "id" : "058", @@ -1920,7 +1049,6 @@ ] }, { - "id" : "059", "name" : "059", "data" : [ [ @@ -1935,9 +1063,12 @@ "Blog", 16 ] - ] + ], + "id" : "059" }, { + "id" : "060", + "name" : "060", "data" : [ [ "Perl", @@ -1951,13 +1082,9 @@ "Blog", 16 ] - ], - "name" : "060", - "id" : "060" + ] }, { - "id" : "061", - "name" : "061", "data" : [ [ "Perl", @@ -1971,9 +1098,12 @@ "Blog", 14 ] - ] + ], + "name" : "061", + "id" : "061" }, { + "id" : "062", "data" : [ [ "Perl", @@ -1988,8 +1118,7 @@ 11 ] ], - "name" : "062", - "id" : "062" + "name" : "062" }, { "data" : [ @@ -2006,8 +1135,8 @@ 13 ] ], - "id" : "063", - "name" : "063" + "name" : "063", + "id" : "063" }, { "data" : [ @@ -2024,11 +1153,10 @@ 16 ] ], - "id" : "064", - "name" : "064" + "name" : "064", + "id" : "064" }, { - "name" : "065", "id" : "065", "data" : [ [ @@ -2043,9 +1171,11 @@ "Blog", 15 ] - ] + ], + "name" : "065" }, { + "name" : "066", "data" : [ [ "Perl", @@ -2060,12 +1190,9 @@ 14 ] ], - "name" : "066", "id" : "066" }, { - "id" : "067", - "name" : "067", "data" : [ [ "Perl", @@ -2079,9 +1206,13 @@ "Blog", 18 ] - ] + ], + "name" : "067", + "id" : "067" }, { + "id" : "068", + "name" : "068", "data" : [ [ "Perl", @@ -2095,11 +1226,10 @@ "Blog", 13 ] - ], - "name" : "068", - "id" : "068" + ] }, { + "name" : "069", "data" : [ [ "Perl", @@ -2114,7 +1244,6 @@ 16 ] ], - "name" : "069", "id" : "069" }, { @@ -2136,6 +1265,8 @@ ] }, { + "id" : "071", + "name" : "071", "data" : [ [ "Perl", @@ -2149,11 +1280,11 @@ "Blog", 15 ] - ], - "id" : "071", - "name" : "071" + ] }, { + "id" : "072", + "name" : "072", "data" : [ [ "Perl", @@ -2167,11 +1298,10 @@ "Blog", 19 ] - ], - "name" : "072", - "id" : "072" + ] }, { + "name" : "073", "data" : [ [ "Perl", @@ -2186,12 +1316,9 @@ 17 ] ], - "id" : "073", - "name" : "073" + "id" : "073" }, { - "name" : "074", - "id" : "074", "data" : [ [ "Perl", @@ -2205,9 +1332,12 @@ "Blog", 20 ] - ] + ], + "name" : "074", + "id" : "074" }, { + "name" : "075", "data" : [ [ "Perl", @@ -2222,7 +1352,6 @@ 20 ] ], - "name" : "075", "id" : "075" }, { @@ -2240,12 +1369,11 @@ 16 ] ], - "id" : "076", - "name" : "076" + "name" : "076", + "id" : "076" }, { "name" : "077", - "id" : "077", "data" : [ [ "Perl", @@ -2259,7 +1387,8 @@ "Blog", 14 ] - ] + ], + "id" : "077" }, { "id" : "078", @@ -2280,8 +1409,6 @@ ] }, { - "name" : "079", - "id" : "079", "data" : [ [ "Perl", @@ -2295,10 +1422,11 @@ "Blog", 17 ] - ] + ], + "name" : "079", + "id" : "079" }, { - "name" : "080", "id" : "080", "data" : [ [ @@ -2313,9 +1441,12 @@ "Blog", 16 ] - ] + ], + "name" : "080" }, { + "id" : "081", + "name" : "081", "data" : [ [ "Perl", @@ -2329,13 +1460,9 @@ "Blog", 15 ] - ], - "id" : "081", - "name" : "081" + ] }, { - "name" : "082", - "id" : "082", "data" : [ [ "Perl", @@ -2349,7 +1476,9 @@ "Blog", 17 ] - ] + ], + "name" : "082", + "id" : "082" }, { "data" : [ @@ -2370,7 +1499,6 @@ "id" : "083" }, { - "id" : "084", "name" : "084", "data" : [ [ @@ -2385,9 +1513,11 @@ "Blog", 12 ] - ] + ], + "id" : "084" }, { + "name" : "085", "data" : [ [ "