From 6c6480baed8abb849ed2d2ffa29f5e8710b64268 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 2 May 2023 19:35:38 +0100 Subject: - Added solutions by Ulrich Rieke. --- challenge-215/ulrich-rieke/cpp/ch-1.cpp | 28 + challenge-215/ulrich-rieke/cpp/ch-2.cpp | 57 + challenge-215/ulrich-rieke/haskell/ch-1.hs | 16 + challenge-215/ulrich-rieke/haskell/ch-2.hs | 27 + challenge-215/ulrich-rieke/perl/ch-1.pl | 16 + challenge-215/ulrich-rieke/perl/ch-2.pl | 45 + challenge-215/ulrich-rieke/raku/ch-1.raku | 11 + challenge-215/ulrich-rieke/raku/ch-2.raku | 38 + challenge-215/ulrich-rieke/rust/ch-1.rs | 22 + challenge-215/ulrich-rieke/rust/ch-2.rs | 39 + stats/pwc-current.json | 243 +-- stats/pwc-language-breakdown-summary.json | 58 +- stats/pwc-language-breakdown.json | 3008 ++++++++++++++-------------- stats/pwc-leaders.json | 382 ++-- stats/pwc-summary-1-30.json | 106 +- stats/pwc-summary-121-150.json | 36 +- stats/pwc-summary-151-180.json | 44 +- stats/pwc-summary-181-210.json | 52 +- stats/pwc-summary-211-240.json | 30 +- stats/pwc-summary-241-270.json | 120 +- stats/pwc-summary-271-300.json | 94 +- stats/pwc-summary-31-60.json | 38 +- stats/pwc-summary-61-90.json | 104 +- stats/pwc-summary-91-120.json | 36 +- stats/pwc-summary.json | 608 +++--- 25 files changed, 2788 insertions(+), 2470 deletions(-) create mode 100644 challenge-215/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-215/ulrich-rieke/cpp/ch-2.cpp create mode 100644 challenge-215/ulrich-rieke/haskell/ch-1.hs create mode 100644 challenge-215/ulrich-rieke/haskell/ch-2.hs create mode 100644 challenge-215/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-215/ulrich-rieke/perl/ch-2.pl create mode 100644 challenge-215/ulrich-rieke/raku/ch-1.raku create mode 100644 challenge-215/ulrich-rieke/raku/ch-2.raku create mode 100644 challenge-215/ulrich-rieke/rust/ch-1.rs create mode 100644 challenge-215/ulrich-rieke/rust/ch-2.rs diff --git a/challenge-215/ulrich-rieke/cpp/ch-1.cpp b/challenge-215/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..5f874934ed --- /dev/null +++ b/challenge-215/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,28 @@ +#include +#include +#include +#include + +std::vector split( const std::string & startline , + const std::string & sep ) { + std::vector separated ; + std::string::size_type start { 0 } ; + std::string::size_type pos ; + do { + pos = startline.find_first_of( sep , start ) ; + separated.push_back( startline.substr(start , pos - start )) ; + start = pos + 1 ; + } while ( pos != std::string::npos ) ; + return separated ; +} + +int main( ) { + std::cout << "Please enter some words, separated by blanks!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + std::vector allStrings ( split( line , " " ) ) ; + std::cout << std::count_if( allStrings.begin( ) , allStrings.end( ) , + []( auto s ) { std::string c = s ; std::sort( c.begin( ) , + c.end( ) ) ; return c != s ; } ) << std::endl ; + return 0 ; +} diff --git a/challenge-215/ulrich-rieke/cpp/ch-2.cpp b/challenge-215/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..e6f54d4baa --- /dev/null +++ b/challenge-215/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,57 @@ +#include +#include +#include +#include + +std::vector split( const std::string & startline , + const std::string & sep ) { + std::vector separated ; + std::string::size_type start { 0 } ; + std::string::size_type pos ; + do { + pos = startline.find_first_of( sep , start ) ; + separated.push_back( startline.substr(start , pos - start )) ; + start = pos + 1 ; + } while ( pos != std::string::npos ) ; + return separated ; +} + +int main( ) { + std::cout << "Please enter a line of 1's and 0's, separated by blanks!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + std::vector numberstrings( split( line, " " ) ) ; + std::vector numbers ; + for ( auto s : numberstrings ) + numbers.push_back( std::stoi( s ) ) ; + std::cout << "How many 0's should be replaced ?\n" ; + int num ; + std::cin >> num ; + int necessary = 0 ; + if ( num == 1 ) + necessary = 3 ; + if ( num > 1 ) + necessary = 3 + num ; + int len = numbers.size( ) ; + if ( len < necessary || len == necessary ) + std::cout << 0 << std::endl ; + else { + std::vector results ; + for ( int start = 0 ; start < len - necessary + 1 ; start++ ) { + if ( std::all_of( numbers.begin( ) + start , numbers.begin( ) + start + + necessary , []( int n ) { return n == 0 ; } ) ) { + results.push_back( true ) ; + } + else + results.push_back( false ) ; + } + if ( std::any_of( results.begin( ) , results.end( ) , []( auto b ) { + return b == true ; })) { + std::cout << 1 << std::endl ; + } + else { + std::cout << 0 << std::endl ; + } + } + return 0 ; +} diff --git a/challenge-215/ulrich-rieke/haskell/ch-1.hs b/challenge-215/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..aa89e91420 --- /dev/null +++ b/challenge-215/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,16 @@ +module Challenge215 + where +import Data.List ( sort ) + +solution :: [String] -> Int +solution terms = length $ filter ( not . isSorted ) terms +where + isSorted :: String -> Bool + isSorted str = str == sort str + +main :: IO ( ) +main = do + putStrLn "Enter some words, separated by a blank!" + terms <- getLine + let theWords = words terms + print $ solution theWords diff --git a/challenge-215/ulrich-rieke/haskell/ch-2.hs b/challenge-215/ulrich-rieke/haskell/ch-2.hs new file mode 100644 index 0000000000..637e0382d8 --- /dev/null +++ b/challenge-215/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,27 @@ +module Challenge215_2 + where +import Data.List ( group ) + +solution :: [Int] -> Int -> Int +solution list zeroesToGo = if any(\li -> length li >= necessary && head li == 0 +) $ group list then 1 else 0 +where + necessary :: Int + necessary = if zeroesToGo == 1 then 3 else 3 + zeroesToGo + +condition :: [Int] -> Int -> Bool +condition list toGo = length list > necessary +where + necessary :: Int + necessary = if toGo == 1 then 3 else 3 + toGo + +main :: IO ( ) +main = do + putStrLn "Enter 1 and 0 , separated by a blank!" + line <- getLine + putStrLn "How many 0 should be removed ?" + toRemove <- getLine + let numbers = map read $ words line + kickout = read toRemove + if condition numbers kickout then print $ solution numbers kickout + else print 0 diff --git a/challenge-215/ulrich-rieke/perl/ch-1.pl b/challenge-215/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..2a6166152a --- /dev/null +++ b/challenge-215/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub is_sorted { + my $word = shift ; + my $sorted = join( '' , sort split( // , $word )) ; + return $sorted eq $word ; +} + +say "Enter some words, separated by blanks!" ; +my $line = ; +chomp $line ; +my @words = split( /\s/ , $line ) ; +say scalar( grep { not ( is_sorted( $_ ) ) } @words ) ; diff --git a/challenge-215/ulrich-rieke/perl/ch-2.pl b/challenge-215/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..923b3de999 --- /dev/null +++ b/challenge-215/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw ( all any ) ; + +say "Enter 1's and 0's, separated by a blank!" ; +my $line = ; +chomp $line ; +my @numbers = split( /\s/ , $line ) ; +say "Enter how many 0's are to be replaced!" ; +my $count = ; +chomp $count ; +#if we want to replace one 0 we have to have 3 in a row, if more than 1 , +#then 3 + 0 to be replaced +my $len = scalar( @numbers ) ; +my $necessary ; +if ( $count == 1 ) { + $necessary = 3 ; +} +if ( $count > 1 ) { + $necessary = 3 + $count ; +} +if ( $len < $necessary || $len == $necessary ) { + say 0 ; +} +else { + my @results ; + for my $i ( 0 .. $len - $necessary ) { + my @removed = splice( @numbers, $i , $necessary ) ; + if ( all { $_ == 0 } @removed ) { + push @results , 1 ; + } + else { + push @results, 0 ; + } + splice( @numbers, $i , $necessary, @removed ) ; + } + if ( any { $_ == 1 } @results ) { + say 1 ; + } + else { + say 0 ; + } +} diff --git a/challenge-215/ulrich-rieke/raku/ch-1.raku b/challenge-215/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..6777d913c3 --- /dev/null +++ b/challenge-215/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,11 @@ +use v6 ; + +sub is_sorted( $aWord ) { + my $sorted = $aWord.comb.sort.join ; + return $sorted eq $aWord ; +} + +say "Enter some words, separated by blanks!" ; +my $line = $*IN.get ; +my @words = $line.words ; +say @words.grep( { not ( is_sorted( $_ ) ) } ).elems ; diff --git a/challenge-215/ulrich-rieke/raku/ch-2.raku b/challenge-215/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..8b4c1506b7 --- /dev/null +++ b/challenge-215/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,38 @@ +use v6 ; + +say "Enter only 1's and 0's in a row, separated by blanks!" ; +my $line = $*IN.get ; +my @numbers = $line.words.map( {.Int} ) ; +say "How many zeroes would you like to replace?" ; +my $count = $*IN.get.Int ; +my $len = @numbers.elems ; +my $necessary_row ; +if ( $count = 1 ) { + $necessary_row = 3 ; +} +if ( $count > 1 ) { + $necessary_row = 3 + $count ; +} +if ( $len < $necessary_row || $len == $necessary_row ) { + say 0 ; +} +else { + my @results ; + for (0..$len - $necessary_row ) -> $i { + my @removed = @numbers.splice($i , $necessary_row) ; + if ( @removed.grep( {$_ == 0} ).elems == @removed.elems ) { + @results.push( True ) ; + } + else { + @results.push( False ) ; + } + splice( @numbers , $i , $necessary_row , @removed ) ; + say @numbers.join( ',' ) ; + } + if (any(@results) == True ) { + say 1 ; + } + else { + say 0 ; + } +} diff --git a/challenge-215/ulrich-rieke/rust/ch-1.rs b/challenge-215/ulrich-rieke/rust/ch-1.rs new file mode 100644 index 0000000000..47a72432fe --- /dev/null +++ b/challenge-215/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,22 @@ +use std::io ; + +fn is_sorted( word : &str ) -> bool { + let mut word_letters : Vec = Vec::new( ) ; + for c in word.chars( ) { + word_letters.push( c ) ; + } + let mut compared_to : Vec = word_letters.clone( ) ; + compared_to.sort( ) ; + compared_to == word_letters +} + +fn main() { + println!("Enter some words, separated by a blank!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let entered_line : &str = &*inline ; + let words : Vec<&str> = entered_line.split_whitespace( ).map( | s | + s.trim( ) ).collect( ) ; + println!( "{}" , words.iter( ).filter( | s | ! is_sorted( *s ) ). + count( ) ) ; +} diff --git a/challenge-215/ulrich-rieke/rust/ch-2.rs b/challenge-215/ulrich-rieke/rust/ch-2.rs new file mode 100644 index 0000000000..813397a4ab --- /dev/null +++ b/challenge-215/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,39 @@ +use std::io ; + +fn main() { + println!("Enter 1 and 0 only!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let entered_line : &str = &*inline ; + let numbers : Vec = entered_line.split_whitespace( ).map( | s | + s.trim( ).parse::( ).unwrap( )).collect( ) ; + println!("How many 0's should be replaced ?") ; + let mut secondline : String = String::new( ) ; + io::stdin( ).read_line( &mut secondline ).unwrap( ) ; + //the basic idea is : to replace n zeroes you have to have 3 zeroes in + //a row if n is 1, 3 + ( number to replace ) otherwise + let zerocount : usize = secondline.trim( ).parse::( ).unwrap( ) ; + let necessary_row = match zerocount { + 0 => 0 , + 1 => 3 , + _ => 3 + zerocount + } ; + let len = numbers.len( ) ; + if len < necessary_row || len == necessary_row { + println!("0") ; + } + else { + let mut conditions : Vec = Vec::new( ) ; + for i in 0..=(len - necessary_row) { + let sub_slice = &numbers[i..i + necessary_row] ; + let mut slice_iter = sub_slice.iter( ) ; + conditions.push( slice_iter.all( | n | *n == 0 )) ; + } + if conditions.iter( ).any( | c | *c == true ) { + println!("1") ; + } + else { + println!("0") ; + } + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 1010f533fb..1739b90695 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,61 +1,129 @@ { - "title" : { - "text" : "The Weekly Challenge - 215" - }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 215", + "data" : [ + { + "drilldown" : "Carlos Oliveira", + "y" : 2, + "name" : "Carlos Oliveira" + }, + { + "drilldown" : "David Ferrone", + "y" : 2, + "name" : "David Ferrone" + }, + { + "y" : 2, + "drilldown" : "E. Choroba", + "name" : "E. Choroba" + }, + { + "drilldown" : "James Smith", + "y" : 3, + "name" : "James Smith" + }, + { + "y" : 2, + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch" + }, + { + "name" : "Mark Anderson", + "y" : 2, + "drilldown" : "Mark Anderson" + }, + { + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke", + "y" : 2 + }, + { + "drilldown" : "Peter Campbell Smith", + "y" : 3, + "name" : "Peter Campbell Smith" + }, + { + "name" : "Robert DiCicco", + "drilldown" : "Robert DiCicco", + "y" : 2 + }, + { + "drilldown" : "Stephen G. Lynn", + "y" : 2, + "name" : "Stephen G. Lynn" + }, + { + "y" : 4, + "drilldown" : "Thomas Kohler", + "name" : "Thomas Kohler" + }, + { + "name" : "Ulrich Rieke", + "y" : 4, + "drilldown" : "Ulrich Rieke" + }, + { + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan", + "y" : 3 + } + ] + } + ], "plotOptions" : { "series" : { "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 } } }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
" + }, "xAxis" : { "type" : "category" }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : 0 - }, - "subtitle" : { - "text" : "[Champions: 12] Last updated at 2023-05-02 18:08:30 GMT" - }, "drilldown" : { "series" : [ { "id" : "Carlos Oliveira", - "name" : "Carlos Oliveira", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Carlos Oliveira" }, { + "id" : "David Ferrone", "data" : [ [ "Perl", 2 ] ], - "id" : "David Ferrone", "name" : "David Ferrone" }, { - "id" : "E. Choroba", "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "E. Choroba" }, { + "id" : "James Smith", + "name" : "James Smith", "data" : [ [ "Perl", @@ -65,39 +133,37 @@ "Blog", 1 ] - ], - "id" : "James Smith", - "name" : "James Smith" + ] }, { + "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] ], - "id" : "Lubos Kolouch", "name" : "Lubos Kolouch" }, { + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "id" : "Mark Anderson" }, { - "name" : "Niels van Dijke", - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Niels van Dijke", + "id" : "Niels van Dijke" }, { "data" : [ @@ -110,10 +176,12 @@ 1 ] ], - "id" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith" + "name" : "Peter Campbell Smith", + "id" : "Peter Campbell Smith" }, { + "id" : "Robert DiCicco", + "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -123,21 +191,20 @@ "Raku", 1 ] - ], - "name" : "Robert DiCicco", - "id" : "Robert DiCicco" + ] }, { + "id" : "Stephen G. Lynn", + "name" : "Stephen G. Lynn", "data" : [ [ "Perl", 2 ] - ], - "name" : "Stephen G. Lynn", - "id" : "Stephen G. Lynn" + ] }, { + "id" : "Thomas Kohler", "data" : [ [ "Perl", @@ -148,12 +215,24 @@ 2 ] ], - "name" : "Thomas Kohler", - "id" : "Thomas Kohler" + "name" : "Thomas Kohler" + }, + { + "name" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Ulrich Rieke" }, { "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -163,86 +242,26 @@ "Blog", 1 ] - ] + ], + "id" : "W. Luis Mochan" } ] }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "{series.name}
" + "chart" : { + "type" : "column" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "series" : [ - { - "name" : "The Weekly Challenge - 215", - "colorByPoint" : 1, - "data" : [ - { - "y" : 2, - "drilldown" : "Carlos Oliveira", - "name" : "Carlos Oliveira" - }, - { - "drilldown" : "David Ferrone", - "name" : "David Ferrone", - "y" : 2 - }, - { - "y" : 2, - "name" : "E. Choroba", - "drilldown" : "E. Choroba" - }, - { - "y" : 3, - "name" : "James Smith", - "drilldown" : "James Smith" - }, - { - "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" - }, - { - "drilldown" : "Niels van Dijke", - "name" : "Niels van Dijke", - "y" : 2 - }, - { - "name" : "Peter Campbell Smith", - "drilldown" : "Peter Campbell Smith", - "y" : 3 - }, - { - "y" : 2, - "name" : "Robert DiCicco", - "drilldown" : "Robert DiCicco" - }, - { - "name" : "Stephen G. Lynn", - "drilldown" : "Stephen G. Lynn", - "y" : 2 - }, - { - "y" : 4, - "name" : "Thomas Kohler", - "drilldown" : "Thomas Kohler" - }, - { - "y" : 3, - "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" - } - ] - } - ] + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 13] Last updated at 2023-05-02 18:32:18 GMT" + }, + "title" : { + "text" : "The Weekly Challenge - 215" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 4369454ef9..96d318e532 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,18 +1,39 @@ { + "legend" : { + "enabled" : "false" + }, + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2023]" + }, + "subtitle" : { + "text" : "Last updated at 2023-05-02 18:32:18 GMT" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, "series" : [ { "name" : "Contributions", "dataLabels" : { "y" : 10, - "rotation" : -90, - "format" : "{point.y:.0f}", "color" : "#FFFFFF", + "align" : "right", + "enabled" : "true", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "enabled" : "true", - "align" : "right" + "format" : "{point.y:.0f}", + "rotation" : -90 }, "data" : [ [ @@ -21,43 +42,22 @@ ], [ "Perl", - 10919 + 10921 ], [ "Raku", - 6325 + 6327 ] ] } ], - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "subtitle" : { - "text" : "Last updated at 2023-05-02 18:08:30 GMT" - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : "false" - }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" } - }, - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2023]" + } } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 5dec8c590b..0734fd110f 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,1124 +1,8 @@ { - "tooltip" : { - "followPointer" : "true", - "headerFormat" : "", - "pointFormat" : "Challenge {point.name}: {point.y:f}
" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "data" : [ - { - "y" : 163, - "drilldown" : "001", - "name" : "#001" - }, - { - "name" : "#002", - "drilldown" : "002", - "y" : 129 - }, - { - "y" : 87, - "name" : "#003", - "drilldown" : "003" - }, - { - "drilldown" : "004", - "name" : "#004", - "y" : 103 - }, - { - "y" : 80, - "drilldown" : "005", - "name" : "#005" - }, - { - "name" : "#006", - "drilldown" : "006", - "y" : 61 - }, - { - "y" : 69, - "name" : "#007", - "drilldown" : "007" - }, - { - "y" : 82, - "name" : "#008", - "drilldown" : "008" - }, - { - "name" : "#009", - "drilldown" : "009", - "y" : 80 - }, - { - "name" : "#010", - "drilldown" : "010", - "y" : 69 - }, - { - "name" : "#011", - "drilldown" : "011", - "y" : 89 - }, - { - "name" : "#012", - "drilldown" : "012", - "y" : 92 - }, - { - "name" : "#013", - "drilldown" : "013", - "y" : 87 - }, - { - "drilldown" : "014", - "name" : "#014", - "y" : 102 - }, - { - "drilldown" : "015", - "name" : "#015", - "y" : 101 - }, - { - "y" : 72, - "name" : "#016", - "drilldown" : "016" - }, - { - "drilldown" : "017", - "name" : "#017", - "y" : 86 - }, - { - "drilldown" : "018", - "name" : "#018", - "y" : 83 - }, - { - "name" : "#019", - "drilldown" : "019", - "y" : 105 - }, - { - "name" : "#020", - "drilldown" : "020", - "y" : 103 - }, - { - "y" : 74, - "drilldown" : "021", - "name" : "#021" - }, - { - "y" : 72, - "name" : "#022", - "drilldown" : "022" - }, - { - "y" : 101, - "name" : "#023", - "drilldown" : "023" - }, - { - "drilldown" : "024", - "name" : "#024", - "y" : 77 - }, - { - "drilldown" : "025", - "name" : "#025", - "y" : 62 - }, - { - "drilldown" : "026", - "name" : "#026", - "y" : 76 - }, - { - "y" : 64, - "name" : "#027", - "drilldown" : "027" - }, - { - "name" : "#028", - "drilldown" : "028", - "y" : 82 - }, - { - "y" : 83, - "name" : "#029", - "drilldown" : "029" - }, - { - "y" : 121, - "name" : "#030", - "drilldown" : "030" - }, - { - "y" : 93, - "name" : "#031", - "drilldown" : "031" - }, - { - "name" : "#032", - "drilldown" : "032", - "y" : 98 - }, - { - "y" : 114, - "name" : "#033", - "drilldown" : "033" - }, - { - "y" : 70, - "name" : "#034", - "drilldown" : "034" - }, - { - "name" : "#035", - "drilldown" : "035", - "y" : 68 - }, - { - "name" : "#036", - "drilldown" : "036", - "y" : 70 - }, - { - "drilldown" : "037", - "name" : "#037", - "y" : 70 - }, - { - "y" : 74, - "drilldown" : "038", - "name" : "#038" - }, - { - "name" : "#039", - "drilldown" : "039", - "y" : 68 - }, - { - "y" : 77, - "name" : "#040", - "drilldown" : "040" - }, - { - "y" : 80, - "drilldown" : "041", - "name" : "#041" - }, - { - "drilldown" : "042", - "name" : "#042", - "y" : 98 - }, - { - "y" : 72, - "name" : "#043", - "drilldown" : "043" - }, - { - "y" : 90, - "drilldown" : "044", - "name" : "#044" - }, - { - "y" : 102, - "drilldown" : "045", - "name" : "#045" - }, - { - "y" : 93, - "drilldown" : "046", - "name" : "#046" - }, - { - "y" : 88, - "drilldown" : "047", - "name" : "#047" - }, - { - "y" : 112, - "name" : "#048", - "drilldown" : "048" - }, - { - "name" : "#049", - "drilldown" : "049", - "y" : 93 - }, - { - "y" : 104, - "drilldown" : "050", - "name" : "#050" - }, - { - "y" : 95, - "drilldown" : "051", - "name" : "#051" - }, - { - "y" : 93, - "name" : "#052", - "drilldown" : "052" - }, - { - "drilldown" : "053", - "name" : "#053", - "y" : 105 - }, - { - "y" : 107, - "drilldown" : "054", - "name" : "#054" - }, - { - "drilldown" : "055", - "name" : "#055", - "y" : 92 - }, - { - "y" : 99, - "drilldown" : "056", - "name" : "#056" - }, - { - "name" : "#057", - "drilldown" : "057", - "y" : 86 - }, - { - "y" : 71, - "drilldown" : "058", - "name" : "#058" - }, - { - "y" : 93, - "drilldown" : "059", - "name" : "#059" - }, - { - "y" : 89, - "name" : "#060", - "drilldown" : "060" - }, - { - "y" : 83, - "drilldown" : "061", - "name" : "#061" - }, - { - "name" : "#062", - "drilldown" : "062", - "y" : 60 - }, - { - "name" : "#063", - "drilldown" : "063", - "y" : 91 - }, - { - "y" : 82, - "name" : "#064", - "drilldown" : "064" - }, - { - "drilldown" : "065", - "name" : "#065", - "y" : 75 - }, - { - "y" : 86, - "name" : "#066", - "drilldown" : "066" - }, - { - "y" : 92, - "drilldown" : "067", - "name" : "#067" - }, - { - "y" : 77, - "name" : "#068", - "drilldown" : "068" - }, - { - "name" : "#069", - "drilldown" : "069", - "y" : 85 - }, - { - "y" : 98, - "name" : "#070", - "drilldown" : "070" - }, - { - "drilldown" : "071", - "name" : "#071", - "y" : 80 - }, - { - "drilldown" : "072", - "name" : "#072", - "y" : 114 - }, - { - "y" : 112, - "name" : "#073", - "drilldown" : "073" - }, - { - "y" : 117, - "name" : "#074", - "drilldown" : "074" - }, - { - "y" : 117, - "name" : "#075", - "drilldown" : "075" - }, - { - "name" : "#076", - "drilldown" : "076", - "y" : 101 - }, - { - "name" : "#077", - "drilldown" : "077", - "y" : 100 - }, - { - "y" : 127, - "drilldown" : "078", - "name" : "#078" - }, - { - "drilldown" : "079", - "name" : "#079", - "y" : 122 - }, - { - "y" : 127, - "name" : "#080", - "drilldown" : "080" - }, - { - "drilldown" : "081", - "name" : "#081", - "y" : 114 - }, - { - "name" : "#082", - "drilldown" : "082", - "y" : 114 - }, - { - "y" : 127, - "drilldown" : "083", - "name" : "#083" - }, - { - "y" : 119, - "name" : "#084", - "drilldown" : "084" - }, - { - "name" : "#085", - "drilldown" : "085", - "y" : 114 - }, - { - "y" : 104, - "drilldown" : "086", - "name" : "#086" - }, - { - "y" : 101, - "name" : "#087", - "drilldown" : "087" - }, - { - "name" : "#088", - "drilldown" : "088", - "y" : 121 - }, - { - "y" : 113, - "name" : "#089", - "drilldown" : "089" - }, - { - "y" : 113, - "drilldown" : "090", - "name" : "#090" - }, - { - "drilldown" : "091", - "name" : "#091", - "y" : 108 - }, - { - "name" : "#092", - "drilldown" : "092", - "y" : 98 - }, - { - "drilldown" : "093", - "name" : "#093", - "y" : 87 - }, - { - "name" : "#094", - "drilldown" : "094", - "y" : 87 - }, - { - "y" : 108, - "name" : "#095", - "drilldown" : "095" - }, - { - "drilldown" : "096", - "name" : "#096", - "y" : 108 - }, - { - "y" : 111, - "drilldown" : "097", - "name" : "#097" - }, - { - "y" : 108, - "drilldown" : "098", - "name" : "#098" - }, - { - "name" : "#099", - "drilldown" : "099", - "y" : 97 - }, - { - "y" : 120, - "drilldown" : "100", - "name" : "#100" - }, - { - "drilldown" : "101", - "name" : "#101", - "y" : 83 - }, - { - "name" : "#102", - "drilldown" : "102", - "y" : 90 - }, - { - "y" : 79, - "drilldown" : "103", - "name" : "#103" - }, - { - "drilldown" : "104", - "name" : "#104", - "y" : 85 - }, - { - "y" : 75, - "name" : "#105", - "drilldown" : "105" - }, - { - "drilldown" : "106", - "name" : "#106", - "y" : 97 - }, - { - "drilldown" : "107", - "name" : "#107", - "y" : 90 - }, - { - "name" : "#108", - "drilldown" : "108", - "y" : 94 - }, - { - "drilldown" : "109", - "name" : "#109", - "y" : 107 - }, - { - "name" : "#110", - "drilldown" : "110", - "y" : 108 - }, - { - "drilldown" : "111", - "name" : "#111", - "y" : 91 - }, - { - "y" : 92, - "drilldown" : "112", - "name" : "#112" - }, - { - "y" : 92, - "name" : "#113", - "drilldown" : "113" - }, - { - "y" : 108, - "name" : "#114", - "drilldown" : "114" - }, - { - "y" : 96, - "name" : "#115", - "drilldown" : "115" - }, - { - "name" : "#116", - "drilldown" : "116", - "y" : 95 - }, - { - "y" : 97, - "drilldown" : "117", - "name" : "#117" - }, - { - "y" : 83, - "drilldown" : "118", - "name" : "#118" - }, - { - "y" : 125, - "drilldown" : "119", - "name" : "#119" - }, - { - "name" : "#120", - "drilldown" : "120", - "y" : 116 - }, - { - "y" : 92, - "name" : "#121", - "drilldown" : "121" - }, - { - "y" : 110, - "drilldown" : "122", - "name" : "#122" - }, - { - "drilldown" : "123", - "name" : "#123", - "y" : 105 - }, - { - "y" : 85, - "name" : "#124", - "drilldown" : "124" - }, - { - "y" : 63, - "name" : "#125", - "drilldown" : "125" - }, - { - "y" : 113, - "name" : "#126", - "drilldown" : "126" - }, - { - "y" : 110, - "drilldown" : "127", - "name" : "#127" - }, - { - "y" : 71, - "name" : "#128", - "drilldown" : "128" - }, - { - "y" : 50, - "name" : "#129", - "drilldown" : "129" - }, - { - "name" : "#130", - "drilldown" : "130", - "y" : 73 - }, - { - "name" : "#131", - "drilldown" : "131", - "y" : 91 - }, - { - "name" : "#132", - "drilldown" : "132", - "y" : 78 - }, - { - "y" : 95, - "name" : "#133", - "drilldown" : "133" - }, - { - "y" : 94, - "drilldown" : "134", - "name" : "#134" - }, - { - "y" : 104, - "drilldown" : "135", - "name" : "#135" - }, - { - "y" : 95, - "name" : "#136", - "drilldown" : "136" - }, - { - "y" : 100, - "drilldown" : "137", - "name" : "#137" - }, - { - "y" : 102, - "drilldown" : "138", - "name" : "#138" - }, - { - "drilldown" : "139", - "name" : "#139", - "y" : 97 - }, - { - "drilldown" : "140", - "name" : "#140", - "y" : 103 - }, - { - "y" : 102, - "drilldown" : "141", - "name" : "#141" - }, - { - "y" : 83, - "name" : "#142", - "drilldown" : "142" - }, - { - "name" : "#143", - "drilldown" : "143", - "y" : 83 - }, - { - "drilldown" : "144", - "name" : "#144", - "y" : 88 - }, - { - "y" : 94, - "name" : "#145", - "drilldown" : "145" - }, - { - "y" : 106, - "drilldown" : "146", - "name" : "#146" - }, - { - "name" : "#147", - "drilldown" : "147", - "y" : 107 - }, - { - "name" : "#148", - "drilldown" : "148", - "y" : 92 - }, - { - "y" : 88, - "drilldown" : "149", - "name" : "#149" - }, - { - "y" : 108, - "drilldown" : "150", - "name" : "#150" - }, - { - "name" : "#151", - "drilldown" : "151", - "y" : 77 - }, - { - "y" : 80, - "name" : "#152", - "drilldown" : "152" - }, - { - "name" : "#153", - "drilldown" : "153", - "y" : 97 - }, - { - "drilldown" : "154", - "name" : "#154", - "y" : 108 - }, - { - "drilldown" : "155", - "name" : "#155", - "y" : 99 - }, - { - "y" : 98, - "drilldown" : "156", - "name" : "#156" - }, - { - "y" : 97, - "name" : "#157", - "drilldown" : "157" - }, - { - "drilldown" : "158", - "name" : "#158", - "y" : 107 - }, - { - "drilldown" : "159", - "name" : "#159", - "y" : 92 - }, - { - "name" : "#160", - "drilldown" : "160", - "y" : 121 - }, - { - "y" : 102, - "drilldown" : "161", - "name" : "#161" - }, - { - "name" : "#162", - "drilldown" : "162", - "y" : 93 - }, - { - "name" : "#163", - "drilldown" : "163", - "y" : 118 - }, - { - "name" : "#164", - "drilldown" : "164", - "y" : 120 - }, - { - "name" : "#165", - "drilldown" : "165", - "y" : 78 - }, - { - "name" : "#166", - "drilldown" : "166", - "y" : 79 - }, - { - "name" : "#167", - "drilldown" : "167", - "y" : 75 - }, - { - "drilldown" : "168", - "name" : "#168", - "y" : 98 - }, - { - "y" : 107, - "name" : "#169", - "drilldown" : "169" - }, - { - "drilldown" : "170", - "name" : "#170", - "y" : 102 - }, - { - "y" : 111, - "drilldown" : "171", - "name" : "#171" - }, - { - "y" : 94, - "name" : "#172", - "drilldown" : "172" - }, - { - "y" : 111, - "drilldown" : "173", - "name" : "#173" - }, - { - "drilldown" : "174", - "name" : "#174", - "y" : 101 - }, - { - "y" : 114, - "name" : "#175", - "drilldown" : "175" - }, - { - "y" : 114, - "name" : "#176", - "drilldown" : "176" - }, - { - "y" : 105, - "drilldown" : "177", - "name" : "#177" - }, - { - "y" : 67, - "name" : "#178", - "drilldown" : "178" - }, - { - "name" : "#179", - "drilldown" : "179", - "y" : 72 - }, - { - "y" : 117, - "drilldown" : "180", - "name" : "#180" - }, - { - "y" : 97, - "name" : "#181", - "drilldown" : "181" - }, - { - "y" : 110, - "drilldown" : "182", - "name" : "#182" - }, - { - "y" : 87, - "drilldown" : "183", - "name" : "#183" - }, - { - "y" : 107, - "name" : "#184", - "drilldown" : "184" - }, - { - "y" : 117, - "drilldown" : "185", - "name" : "#185" - }, - { - "name" : "#186", - "drilldown" : "186", - "y" : 113 - }, - { - "name" : "#187", - "drilldown" : "187", - "y" : 109 - }, - { - "y" : 119, - "drilldown" : "188", - "name" : "#188" - }, - { - "name" : "#189", - "drilldown" : "189", - "y" : 117 - }, - { - "drilldown" : "190", - "name" : "#190", - "y" : 111 - }, - { - "y" : 117, - "name" : "#191", - "drilldown" : "191" - }, - { - "drilldown" : "192", - "name" : "#192", - "y" : 127 - }, - { - "drilldown" : "193", - "name" : "#193", - "y" : 112 - }, - { - "drilldown" : "194", - "name" : "#194", - "y" : 111 - }, - { - "y" : 108, - "drilldown" : "195", - "name" : "#195" - }, - { - "y" : 102, - "name" : "#196", - "drilldown" : "196" - }, - { - "name" : "#197", - "drilldown" : "197", - "y" : 102 - }, - { - "name" : "#198", - "drilldown" : "198", - "y" : 116 - }, - { - "drilldown" : "199", - "name" : "#199", - "y" : 116 - }, - { - "drilldown" : "200", - "name" : "#200", - "y" : 115 - }, - { - "y" : 111, - "drilldown" : "201", - "name" : "#201" - }, - { - "drilldown" : "202", - "name" : "#202", - "y" : 104 - }, - { - "y" : 96, - "drilldown" : "203", - "name" : "#203" - }, - { - "name" : "#204", - "drilldown" : "204", - "y" : 111 - }, - { - "name" : "#205", - "drilldown" : "205", - "y" : 120 - }, - { - "y" : 113, - "drilldown" : "206", - "name" : "#206" - }, - { - "name" : "#207", - "drilldown" : "207", - "y" : 120 - }, - { - "drilldown" : "208", - "name" : "#208", - "y" : 117 - }, - { - "name" : "#209", - "drilldown" : "209", - "y" : 102 - }, - { - "drilldown" : "210", - "name" : "#210", - "y" : 92 - }, - { - "drilldown" : "211", - "name" : "#211", - "y" : 107 - }, - { - "drilldown" : "212", - "name" : "#212", - "y" : 103 - }, - { - "y" : 98, - "drilldown" : "213", - "name" : "#213" - }, - { - "name" : "#214", - "drilldown" : "214", - "y" : 63 - }, - { - "name" : "#215", - "drilldown" : "215", - "y" : 29 - } - ], - "name" : "The Weekly Challenge Languages", - "colorByPoint" : "true" - } - ], - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "title" : { - "text" : "The Weekly Challenge Language" - }, - "xAxis" : { - "type" : "category" - }, - "legend" : { - "enabled" : "false" - }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2023-05-02 18:08:30 GMT" - }, "drilldown" : { "series" : [ { + "id" : "001", "data" : [ [ "Perl", @@ -1133,7 +17,6 @@ 11 ] ], - "id" : "001", "name" : "001" }, { @@ -1155,6 +38,7 @@ ] }, { + "id" : "003", "data" : [ [ "Perl", @@ -1169,12 +53,10 @@ 9 ] ], - "name" : "003", - "id" : "003" + "name" : "003" }, { "name" : "004", - "id" : "004", "data" : [ [ "Perl", @@ -1188,7 +70,8 @@ "Blog", 10 ] - ] + ], + "id" : "004" }, { "data" : [ @@ -1227,7 +110,6 @@ ] }, { - "id" : "007", "name" : "007", "data" : [ [ @@ -1242,9 +124,11 @@ "Blog", 10 ] - ] + ], + "id" : "007" }, { + "id" : "008", "data" : [ [ "Perl", @@ -1259,8 +143,7 @@ 12 ] ], - "name" : "008", - "id" : "008" + "name" : "008" }, { "id" : "009", @@ -1281,7 +164,6 @@ ] }, { - "id" : "010", "name" : "010", "data" : [ [ @@ -1296,11 +178,10 @@ "Blog", 11 ] - ] + ], + "id" : "010" }, { - "id" : "011", - "name" : "011", "data" : [ [ "Perl", @@ -1314,9 +195,13 @@ "Blog", 10 ] - ] + ], + "name" : "011", + "id" : "011" }, { + "id" : "012", + "name" : "012", "data" : [ [ "Perl", @@ -1330,11 +215,11 @@ "Blog", 11 ] - ], - "name" : "012", - "id" : "012" + ] }, { + "id" : "013", + "name" : "013", "data" : [ [ "Perl", @@ -1348,13 +233,10 @@ "Blog", 13 ] - ], - "id" : "013", - "name" : "013" + ] }, { "id" : "014", - "name" : "014", "data" : [ [ "Perl", @@ -1368,9 +250,12 @@ "Blog", 15 ] - ] + ], + "name" : "014" }, { + "id" : "015", + "name" : "015", "data" : [ [ "Perl", @@ -1384,13 +269,10 @@ "Blog", 15 ] - ], - "name" : "015", - "id" : "015" + ] }, { "name" : "016", - "id" : "016", "data" : [ [ "Perl", @@ -1404,11 +286,10 @@ "Blog", 12 ] - ] + ], + "id" : "016" }, { - "name" : "017", - "id" : "017", "data" : [ [ "Perl", @@ -1422,7 +303,9 @@ "Blog", 12 ] - ] + ], + "name" : "017", + "id" : "017" }, { "id" : "018", @@ -1443,7 +326,6 @@ ] }, { - "id" : "019", "name" : "019", "data" : [ [ @@ -1458,11 +340,12 @@ "Blog", 13 ] - ] + ], + "id" : "019" }, { - "name" : "020", "id" : "020", + "name" : "020", "data" : [ [ "Perl", @@ -1480,7 +363,6 @@ }, { "id" : "021", - "name" : "021", "data" : [ [ "Perl", @@ -1494,9 +376,11 @@ "Blog", 10 ] - ] + ], + "name" : "021" }, { + "id" : "022", "data" : [ [ "Perl", @@ -1511,12 +395,9 @@ 10 ] ], - "name" : "022", - "id" : "022" + "name" : "022" }, { - "id" : "023", - "name" : "023", "data" : [ [ "Perl", @@ -1530,9 +411,12 @@ "Blog", 12 ] - ] + ], + "name" : "023", + "id" : "023" }, { + "id" : "024", "data" : [ [ "Perl", @@ -1547,10 +431,11 @@ 11 ] ], - "name" : "024", - "id" : "024" + "name" : "024" }, { + "id" : "025", + "name" : "025", "data" : [ [ "Perl", @@ -1564,11 +449,11 @@ "Blog", 12 ] - ], - "name" : "025", - "id" : "025" + ] }, { + "id" : "026", + "name" : "026", "data" : [ [ "Perl", @@ -1582,13 +467,11 @@ "Blog", 10 ] - ], - "name" : "026", - "id" : "026" + ] }, { - "name" : "027", "id" : "027", + "name" : "027", "data" : [ [ "Perl", @@ -1619,8 +502,8 @@ 9 ] ], - "id" : "028", - "name" : "028" + "name" : "028", + "id" : "028" }, { "id" : "029", @@ -1641,6 +524,7 @@ ] }, { + "id" : "030", "data" : [ [ "Perl", @@ -1655,11 +539,9 @@ 10 ] ], - "name" : "030", - "id" : "030" + "name" : "030" }, { - "name" : "031", "id" : "031", "data" : [ [ @@ -1674,9 +556,12 @@ "Blog", 9 ] - ] + ], + "name" : "031" }, { + "id" : "032", + "name" : "032", "data" : [ [ "Perl", @@ -1690,11 +575,10 @@ "Blog", 10 ] - ], - "id" : "032", - "name" : "032" + ] }, { + "id" : "033", "data" : [ [ "Perl", @@ -1709,10 +593,10 @@ 10 ] ], - "name" : "033", - "id" : "033" + "name" : "033" }, { + "id" : "034", "data" : [ [ "Perl", @@ -1727,8 +611,7 @@ 11 ] ], - "name" : "034", - "id" : "034" + "name" : "034" }, { "id" : "035", @@ -1749,6 +632,7 @@ ] }, { + "name" : "036", "data" : [ [ "Perl", @@ -1763,8 +647,7 @@ 11 ] ], - "id" : "036", - "name" : "036" + "id" : "036" }, { "data" : [ @@ -1781,12 +664,12 @@ 9 ] ], - "id" : "037", - "name" : "037" + "name" : "037", + "id" : "037" }, { - "name" : "038", "id" : "038", + "name" : "038", "data" : [ [ "Perl", @@ -1803,6 +686,8 @@ ] }, { + "id" : "039", + "name" : "039", "data" : [ [ "Perl", @@ -1816,12 +701,9 @@ "Blog", 12 ] - ], - "name" : "039", - "id" : "039" + ] }, { - "id" : "040", "name" : "040", "data" : [ [ @@ -1836,9 +718,11 @@ "Blog", 10 ] - ] + ], + "id" : "040" }, { + "id" : "041", "data" : [ [ "Perl", @@ -1853,10 +737,10 @@ 9 ] ], - "name" : "041", - "id" : "041" + "name" : "041" }, { + "id" : "042", "data" : [ [ "Perl", @@ -1871,11 +755,9 @@ 11 ] ], - "id" : "042", "name" : "042" }, { - "name" : "043", "id" : "043", "data" : [ [ @@ -1890,9 +772,11 @@ "Blog", 11 ] - ] + ], + "name" : "043" }, { + "name" : "044", "data" : [ [ "Perl", @@ -1907,8 +791,7 @@ 11 ] ], - "id" : "044", - "name" : "044" + "id" : "044" }, { "data" : [ @@ -1929,7 +812,6 @@ "id" : "045" }, { - "id" : "046", "name" : "046", "data" : [ [ @@ -1944,9 +826,12 @@ "Blog", 10 ] - ] + ], + "id" : "046" }, { + "id" : "047", + "name" : "047", "data" : [ [ "Perl", @@ -1960,9 +845,7 @@ "Blog", 10 ] - ], - "id" : "047", - "name" : "047" + ] }, { "data" : [ @@ -1979,12 +862,11 @@ 12 ] ], - "id" : "048", - "name" : "048" + "name" : "048", + "id" : "048" }, { "name" : "049", - "id" : "0