From 43989bb5293a3b2f1d6b5290c65ed4edd68ecbcd Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 4 Jun 2023 23:21:35 +0100 Subject: - Added solutions for week 219. --- challenge-219/ulrich-rieke/cpp/ch-1.cpp | 39 + challenge-219/ulrich-rieke/haskell/ch-1.hs | 6 + challenge-219/ulrich-rieke/perl/ch-1.pl | 11 + challenge-219/ulrich-rieke/raku/ch-1.raku | 7 + challenge-219/ulrich-rieke/rust/ch-1.rs | 14 + challenge-219/ulrich-rieke/rust/ch-2.rs | 147 + stats/pwc-current.json | 385 +- stats/pwc-language-breakdown-summary.json | 72 +- stats/pwc-language-breakdown.json | 8534 ++++++++++++++-------------- stats/pwc-leaders.json | 452 +- stats/pwc-summary-1-30.json | 54 +- stats/pwc-summary-121-150.json | 48 +- stats/pwc-summary-151-180.json | 42 +- stats/pwc-summary-181-210.json | 112 +- stats/pwc-summary-211-240.json | 112 +- stats/pwc-summary-241-270.json | 118 +- stats/pwc-summary-271-300.json | 32 +- stats/pwc-summary-31-60.json | 104 +- stats/pwc-summary-61-90.json | 48 +- stats/pwc-summary-91-120.json | 104 +- stats/pwc-summary.json | 72 +- 21 files changed, 5484 insertions(+), 5029 deletions(-) create mode 100644 challenge-219/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-219/ulrich-rieke/haskell/ch-1.hs create mode 100644 challenge-219/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-219/ulrich-rieke/raku/ch-1.raku create mode 100644 challenge-219/ulrich-rieke/rust/ch-1.rs create mode 100644 challenge-219/ulrich-rieke/rust/ch-2.rs diff --git a/challenge-219/ulrich-rieke/cpp/ch-1.cpp b/challenge-219/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..7f67e8494a --- /dev/null +++ b/challenge-219/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,39 @@ +#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 << "Enter some integers, separated by blanks!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + std::vector numberstrings( split( line , " " ) ) ; + std::vector squares ; + for ( auto s : numberstrings ) { + int i = std::stoi( s ) ; + squares.push_back( i * i) ; + } + std::sort( squares.begin( ) , squares.end( ) ) ; + std::cout << '(' ; + for ( int i : squares ) { + std::cout << i ; + if ( i != squares.back( ) ) + std::cout << ", " ; + else + std::cout << ")\n" ; + } + return 0 ; +} diff --git a/challenge-219/ulrich-rieke/haskell/ch-1.hs b/challenge-219/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..c360e9ed27 --- /dev/null +++ b/challenge-219/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,6 @@ +module Challenge219 + where +import Data.List ( sort ) + +solution :: [Int] -> [Int] +solution = sort . map (^ 2) diff --git a/challenge-219/ulrich-rieke/perl/ch-1.pl b/challenge-219/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..8a2331b1ac --- /dev/null +++ b/challenge-219/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,11 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +say "Enter some numbers, separated by blanks!" ; +my $line = ; +chomp $line ; +my @numbers = split( /\s/ , $line ) ; +my @sorted = sort { $a <=> $b } map { $_ ** 2 } @numbers ; +say "(" . join( ',' , @sorted ) . ")" ; diff --git a/challenge-219/ulrich-rieke/raku/ch-1.raku b/challenge-219/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..192ea594bb --- /dev/null +++ b/challenge-219/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,7 @@ +use v6 ; + +say "Enter some integers, separated by blanks!" ; +my $line = $*IN.get ; +my @numbers = $line.words.map( {.Int} ) ; +my @sorted = @numbers.map( { $_ ** 2 } ).sort( { $^a <=> $^b } ) ; +say "(" ~ @sorted.join( ',' ) ~ ")" ; diff --git a/challenge-219/ulrich-rieke/rust/ch-1.rs b/challenge-219/ulrich-rieke/rust/ch-1.rs new file mode 100644 index 0000000000..ac5d8bfca9 --- /dev/null +++ b/challenge-219/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,14 @@ +use std::io ; + +fn main() { + println!("Enter some numbers, separated by blanks!"); + 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( ) ; + let mut squares : Vec = numbers.iter( ).map( | i | i.pow( 2 )). + collect( ) ; + squares.sort( ) ; + println!("{:?}" , squares) ; +} diff --git a/challenge-219/ulrich-rieke/rust/ch-2.rs b/challenge-219/ulrich-rieke/rust/ch-2.rs new file mode 100644 index 0000000000..f4574543fb --- /dev/null +++ b/challenge-219/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,147 @@ +use std::io ; + +//find all time periods with the corresponding distance, that is +//for months it's 29 , for weeks 6 , starting from a given index +fn find_subarrays( days : &Vec , index : usize , distance : u32) + -> Vec> { + let mut all_subarrays : Vec> = Vec::new( ) ; + if days[ days.len( ) - 1 ] - days[0] <= distance { + all_subarrays.push( days.clone( ) ) ; + } + else { + if index > 0 { + let mut an_array : Vec = Vec::new( ) ; + for i in 0..index { + an_array.push( days[ i ] ) ; + } + all_subarrays.push( an_array ) ; + } + let len : usize = days.len( ) ; + let mut pos : usize = index ; + let mut subarray : Vec = Vec::new( ) ; + let mut startpos : usize = pos ; + while pos < len { + if days[ pos ] - days[startpos] <= distance { + subarray.push( days[ pos ] ) ; + } + else { + all_subarrays.push( subarray.clone( ) ) ; + subarray.clear( ) ; + startpos = pos ; + pos -= 1 ; + } + pos += 1 ; + } + if subarray.len( ) > 0 { + all_subarrays.push( subarray.clone( ) ) ; + } + } + all_subarrays +} + +//for all the subperiods, see whether the sub period qualifies for a +//month card( distance > 6 and < 30 , there are more days in the subarray +//than the monthlimit, that is the number of days when it is cheaper to +//buy a month ticket than week or day tickets +//when the difference between the first and last value in a subarray +//would also qualify for a week ticket, see if there are more days in +//the subarray then the week limit +fn find_value( the_array : &Vec> , costs : &(u32 , u32 , u32) , + distance : u32) -> u32 { + let mut all_prices : Vec = Vec::new( ) ; + let len : usize = the_array.len( ) ; + //consider all subarrays as either months or weeks, depending on the + //distance + match distance { + 29 => all_prices.push( (len as u32 ) * costs.2 ) ,//all are months + 6 => all_prices.push( (len as u32 ) * costs.1 ),//all are weeks + _ => { }, + } + let month_limit : u32 = costs.2.checked_div( costs.0 ).unwrap( ) ;//a subarray + //should contain more days than this limit so that pays off to buy + //a month ticket + let week_limit : u32 = costs.1.checked_div( costs.0 ).unwrap( ) ; + //same for weeks + let mut price : u32 = 0 ;//holds the total price for all subperiods + for i in 0..len { + let sublen : usize = the_array[i].len( ) ; + let subdiff : u32 = the_array[ i ][sublen - 1] - the_array[ i ][0] ; + match distance { + 29 => { + if subdiff > 6 {//possible month + if (sublen as u32 ) > month_limit {//pays off as month + price += costs.2 ;//add month price + } + else { + price += ( sublen as u32 ) * costs.0 ;//take day tick. + } + } + else { //we are looking at possible weeks + if ( sublen as u32 ) > week_limit {//week ticket pays off + price += costs.1 ; + } + else { + price += ( sublen as u32 ) * costs.0 ;//day tickets + } + } + } , + 6 => { + if ( sublen as u32) > week_limit { + price += costs.1 ; + } + else { + price += ( sublen as u32 ) * costs.0 ; + } + } , + _ => { } + } + } + all_prices.push( price ) ; + *all_prices.iter( ).min( ).unwrap( ) +} + +fn main( ) { + println!("Enter the prices for a day, week and month card, separated by blanks!") ; + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let costline : &str = &*inline ; + let the_costs : Vec = costline.split_whitespace( ).map( | s | + s.trim( ).parse::( ).unwrap( ) ).collect( ) ; + let costs : (u32 , u32 , u32) = (the_costs[ 0 ] , the_costs[1] , the_costs[ 2 ] ) ; + println!("Enter the days you want to travel!" ) ; + let mut dayline : String = String::new( ) ; + io::stdin( ).read_line( &mut dayline ).unwrap( ) ; + let the_days : &str = &*dayline ; + let days : Vec = the_days.split_whitespace( ).map( | s | s.trim( ). + parse::( ).unwrap( ) ).collect( ) ; + let mut total_ticket_prices : Vec = Vec::new( ) ; + let len : usize = days.len( ) ; + total_ticket_prices.push( (len as u32) * costs.0 ) ; //we only buy day tickets! + //we look for valid month periods + let month_arrays : Vec> = find_subarrays( &days , 0 , 29 ) ; + total_ticket_prices.push( find_value( &month_arrays, &costs , 29 )) ; + //find end of first array + let first_len : usize = month_arrays[0].len( ) ; + let first_end : u32 = month_arrays[0][first_len - 1] ; + let upto : usize = days.iter( ).position( | &d | d == first_end ).unwrap( ) + 1 ; + if upto < days.len( ) - 1 { + for pos in 0..upto { + let arrays_month : Vec> = find_subarrays( &days, pos , 29 ) ; + total_ticket_prices.push( find_value( &arrays_month, &costs , 29 ) ) ; + } + } + let week_arrays : Vec> = find_subarrays( &days, 0 , 6 ) ; + let price : u32 = find_value( &week_arrays, &costs, 6 ) ; + total_ticket_prices.push( price ) ; + let first_len : usize = week_arrays[0].len( ) ; + let first_end : u32 = week_arrays[0][first_len - 1] ; + let upto : usize = days.iter( ).position( | &d | d == first_end ).unwrap( ) + 1 ; + if upto < days.len( ) - 1 { + for pos in 0..upto { + let arrays_week : Vec> = find_subarrays( &days, pos, 6 ) ; + let current_price : u32 = find_value( &arrays_week , &costs, 6 ) ; + total_ticket_prices.push( current_price ) ; + } + } + println!("{:?}" , total_ticket_prices.iter( ).min( ).unwrap( ) ) ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index a84bc511d7..c6fd491068 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,15 +1,4 @@ { - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "title" : { - "text" : "The Weekly Challenge - 219" - }, "drilldown" : { "series" : [ { @@ -30,11 +19,63 @@ "data" : [ [ "Perl", + 1 + ], + [ + "Raku", + 1 + ] + ], + "name" : "Athanasius", + "id" : "Athanasius" + }, + { + "name" : "Avery Adams", + "id" : "Avery Adams", + "data" : [ + [ + "Perl", + 1 + ], + [ + "Blog", + 2 + ] + ] + }, + { + "name" : "BarrOff", + "id" : "BarrOff", + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 1 + ] + ] + }, + { + "data" : [ + [ + "Raku", 2 ] ], + "name" : "Bruce Gray", + "id" : "Bruce Gray" + }, + { "id" : "David Ferrone", - "name" : "David Ferrone" + "name" : "David Ferrone", + "data" : [ + [ + "Perl", + 2 + ] + ] }, { "name" : "E. Choroba", @@ -47,8 +88,8 @@ ] }, { - "name" : "Flavio Poletti", "id" : "Flavio Poletti", + "name" : "Flavio Poletti", "data" : [ [ "Perl", @@ -65,8 +106,36 @@ ] }, { - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", + "name" : "Jan Krnavek", + "id" : "Jan Krnavek", + "data" : [ + [ + "Raku", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl", + 1 + ] + ], + "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey" + }, + { + "name" : "Lance Wicks", + "id" : "Lance Wicks", + "data" : [ + [ + "Perl", + 1 + ] + ] + }, + { "data" : [ [ "Perl", @@ -80,9 +149,23 @@ "Blog", 1 ] + ], + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" + }, + { + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "data" : [ + [ + "Perl", + 2 + ] ] }, { + "id" : "Luca Ferrari", + "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -92,33 +175,59 @@ "Blog", 6 ] - ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + ] }, { + "id" : "Mariano Spadaccini", + "name" : "Mariano Spadaccini", "data" : [ [ "Perl", 1 ] - ], - "name" : "Mariano Spadaccini", - "id" : "Mariano Spadaccini" + ] }, { "data" : [ [ "Raku", - 2 + 1 ] ], "name" : "Mark Anderson", "id" : "Mark Anderson" }, { - "name" : "Robert DiCicco", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Peter Campbell Smith", + "id" : "Peter Campbell Smith" + }, + { + "data" : [ + [ + "Perl", + 1 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Robbie Hatley", + "name" : "Robbie Hatley" + }, + { "id" : "Robert DiCicco", + "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -131,18 +240,16 @@ ] }, { + "id" : "Robert Ransbottom", + "name" : "Robert Ransbottom", "data" : [ [ "Raku", 2 ] - ], - "id" : "Robert Ransbottom", - "name" : "Robert Ransbottom" + ] }, { - "name" : "Roger Bell_West", - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -151,15 +258,49 @@ [ "Raku", 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" + }, + { + "id" : "Simon Green", + "name" : "Simon Green", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 ] ] }, { - "id" : "Solathian", "name" : "Solathian", + "id" : "Solathian", + "data" : [ + [ + "Perl", + 1 + ] + ] + }, + { + "name" : "Stephen G. Lynn", + "id" : "Stephen G. Lynn", "data" : [ [ "Perl", + 2 + ], + [ + "Blog", 1 ] ] @@ -175,12 +316,24 @@ 2 ] ], - "name" : "Thomas Kohler", - "id" : "Thomas Kohler" + "id" : "Thomas Kohler", + "name" : "Thomas Kohler" + }, + { + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 1 + ] + ], + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" }, { - "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -190,109 +343,187 @@ "Blog", 1 ] - ] + ], + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" } ] }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } + "title" : { + "text" : "The Weekly Challenge - 219" + }, + "subtitle" : { + "text" : "[Champions: 27] Last updated at 2023-06-04 22:19:02 GMT" }, "legend" : { "enabled" : 0 }, + "tooltip" : { + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1 + }, + "xAxis" : { + "type" : "category" + }, "series" : [ { + "colorByPoint" : 1, "data" : [ { - "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", "y" : 3, - "name" : "Arne Sommer" + "drilldown" : "Arne Sommer" }, { - "name" : "David Ferrone", + "drilldown" : "Athanasius", "y" : 2, - "drilldown" : "David Ferrone" + "name" : "Athanasius" + }, + { + "drilldown" : "Avery Adams", + "y" : 3, + "name" : "Avery Adams" }, { - "name" : "E. Choroba", "y" : 2, - "drilldown" : "E. Choroba" + "name" : "BarrOff", + "drilldown" : "BarrOff" }, { - "y" : 6, + "y" : 2, + "name" : "Bruce Gray", + "drilldown" : "Bruce Gray" + }, + { + "drilldown" : "David Ferrone", + "name" : "David Ferrone", + "y" : 2 + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 + }, + { + "drilldown" : "Flavio Poletti", "name" : "Flavio Poletti", - "drilldown" : "Flavio Poletti" + "y" : 6 }, { + "y" : 2, + "name" : "Jan Krnavek", + "drilldown" : "Jan Krnavek" + }, + { + "name" : "Jorg Sommrey", + "y" : 1, + "drilldown" : "Jorg Sommrey" + }, + { + "drilldown" : "Lance Wicks", + "name" : "Lance Wicks", + "y" : 1 + }, + { + "drilldown" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", - "y" : 3, - "drilldown" : "Laurent Rosenfeld" + "y" : 3 + }, + { + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "y" : 2 }, { - "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari", - "y" : 8 + "y" : 8, + "drilldown" : "Luca Ferrari" }, { "drilldown" : "Mariano Spadaccini", - "y" : 1, - "name" : "Mariano Spadaccini" + "name" : "Mariano Spadaccini", + "y" : 1 }, { - "drilldown" : "Mark Anderson", + "y" : 1, "name" : "Mark Anderson", - "y" : 2 + "drilldown" : "Mark Anderson" + }, + { + "y" : 3, + "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith" }, { "y" : 2, - "name" : "Robert DiCicco", - "drilldown" : "Robert DiCicco" + "name" : "Robbie Hatley", + "drilldown" : "Robbie Hatley" }, { - "drilldown" : "Robert Ransbottom", + "drilldown" : "Robert DiCicco", "y" : 2, - "name" : "Robert Ransbottom" + "name" : "Robert DiCicco" }, { - "y" : 4, + "y" : 2, + "name" : "Robert Ransbottom", + "drilldown" : "Robert Ransbottom" + }, + { + "y" : 5, "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West" }, + { + "name" : "Simon Green", + "y" : 3, + "drilldown" : "Simon Green" + }, { "drilldown" : "Solathian", "y" : 1, "name" : "Solathian" }, { - "drilldown" : "Thomas Kohler", + "name" : "Stephen G. Lynn", + "y" : 3, + "drilldown" : "Stephen G. Lynn" + }, + { "y" : 4, - "name" : "Thomas Kohler" + "name" : "Thomas Kohler", + "drilldown" : "Thomas Kohler" + }, + { + "name" : "Ulrich Rieke", + "y" : 2, + "drilldown" : "Ulrich Rieke" }, { - "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan", "y" : 3, - "name" : "W. Luis Mochan" + "drilldown" : "W. Luis Mochan" } ], - "name" : "The Weekly Challenge - 219", - "colorByPoint" : 1 + "name" : "The Weekly Challenge - 219" } ], - "chart" : { - "type" : "column" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } }, - "subtitle" : { - "text" : "[Champions: 14] Last updated at 2023-06-01 09:33:56 GMT" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
" + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 1a88a45e85..7ce807a578 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2023]" - }, - "legend" : { - "enabled" : "false" - }, "series" : [ { "dataLabels" : { - "color" : "#FFFFFF", - "y" : 10, - "enabled" : "true", - "rotation" : -90, + "align" : "right", "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "align" : "right", - "format" : "{point.y:.0f}" + "y" : 10, + "enabled" : "true", + "format" : "{point.y:.0f}", + "color" : "#FFFFFF", + "rotation" : -90 }, "data" : [ [ "Blog", - 3625 + 3632 ], [ "Perl", - 11169 + 11184 ], [ "Raku", - 6457 + 6463 ] ], "name" : "Contributions" } ], - "chart" : { - "type" : "column" + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" }, - "subtitle" : { - "text" : "Last updated at 2023-06-01 09:33:56 GMT" + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2023]" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "legend" : { + "enabled" : "false" }, "tooltip" : { "pointFormat" : "{point.y:.0f}" + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "Last updated at 2023-06-04 22:19:02 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 8016dd2641..fe333c4d5e 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,4006 +1,38 @@ { - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "title" : { - "text" : "The Weekly Challenge Language" - }, - "drilldown" : { - "series" : [ - { - "data" : [ - [ - "Perl", - 105 - ], - [ - "Raku", - 47 - ], - [ - "Blog", - 11 - ] - ], - "id" : "001", - "name" : "001" - }, - { - "id" : "002", - "name" : "002", - "data" : [ - [ - "Perl", - 83 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "id" : "003", - "name" : "003" - }, - { - "data" : [ - [ - "Perl", - 60 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "id" : "004", - "name" : "004" - }, - { - "name" : "005", - "id" : "005", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 18 - ], - [ - "Blog", - 7 - ] - ], - "name" : "006", - "id" : "006" - }, - { - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ], - "id" : "007", - "name" : "007" - }, - { - "name" : "008", - "id" : "008", - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "009", - "name" : "009", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "name" : "010", - "id" : "010" - }, - { - "name" : "011", - "id" : "011", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ], - "id" : "012", - "name" : "012" - }, - { - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 13 - ] - ], - "name" : "013", - "id" : "013" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ], - "name" : "014", - "id" : "014" - }, - { - "name" : "015", - "id" : "015", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "016", - "id" : "016", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "id" : "017", - "name" : "017" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "name" : "018", - "id" : "018" - }, - { - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ], - "name" : "019", - "id" : "019" - }, - { - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 13 - ] - ], - "name" : "020", - "id" : "020" - }, - { - "name" : "021", - "id" : "021", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ], - "id" : "022", - "name" : "022" - }, - { - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 12 - ] - ], - "name" : "023", - "id" : "023" - }, - { - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 11 - ] - ], - "id" : "024", - "name" : "024" - }, - { - "id" : "025", - "name" : "025", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "026", - "id" : "026", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "id" : "027", - "name" : "027", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "name" : "028", - "id" : "028", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "name" : "029", - "id" : "029", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "030", - "id" : "030", - "data" : [ - [ - "Perl", - 78 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 54 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "name" : "031", - "id" : "031" - }, - { - "name" : "032", - "id" : "032", - "data" : [ - [ - "Perl", - 61 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "id" : "033", - "name" : "033", - "data" : [ - [ - "Perl", - 66 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "id" : "034", - "name" : "034", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ], - "id" : "035", - "name" : "035" - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 11 - ] - ], - "id" : "036", - "name" : "036" - }, - { - "name" : "037", - "id" : "037", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "name" : "038", - "id" : "038", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "039", - "name" : "039", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ], - "name" : "040", - "id" : "040" - }, - { - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "id" : "041", - "name" : "041" - }, - { - "name" : "042", - "id" : "042", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 11 - ] - ], - "name" : "043", - "id" : "043" - }, - { - "id" : "044", - "name" : "044", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 11 - ] - ], - "name" : "045", - "id" : "045" - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "name" : "046", - "id" : "046" - }, - { - "name" : "047", - "id" : "047", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "048", - "id" : "048", - "data" : [ - [ - "Perl", - 63 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "049", - "name" : "049", - "data" : [ - [ - "Perl", - 54 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ], - "name" : "050", - "id" : "050" - }, - { - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 11 - ] - ], - "name" : "051", - "id" : "051" - }, - { - "name" : "052", - "id" : "052", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 15 - ] - ], - "name" : "053", - "id" : "053" - }, - { - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 18 - ] - ], - "id" : "054", - "name" : "054" - }, - { - "name" : "055", - "id" : "055", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "id" : "056", - "name" : "056", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ], - "id" : "057", - "name" : "057" - }, - { - "name" : "058", - "id" : "058", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 16 - ] - ], - "id" : "059", - "name" : "059" - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ], - "name" : "060", - "id" : "060" - }, - { - "name" : "061", - "id" : "061", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "name" : "062", - "id" : "062" - }, - { - "name" : "063", - "id" : "063", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 16 - ] - ], - "name" : "064", - "id" : "064" - }, - { - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ], - "id" : "065", - "name" : "065" - }, - { - "id" : "066", - "name" : "066", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "id" : "067", - "name" : "067", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 13 - ] - ], - "id" : "068", - "name" : "068" - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 16 - ] - ], - "name" : "069", - "id" : "069" - }, - { - "name" : "070", - "id" : "070", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "id" : "071", - "name" : "071", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "072", - "id" : "072", - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 42 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 17 - ] - ], - "id" : "073", - "name" : "073" - }, - { - "name" : "074", - "id" : "074", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "name" : "075", - "id" : "075", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "id" : "076", - "name" : "076", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "077", - "id" : "077", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "078", - "id" : "078", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "name" : "079", - "id" : "079", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "name" : "080", - "id" : "080", - "data" : [ - [ - "Perl", - 75 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 15 - ] - ], - "id" : "081", - "name" : "081" - }, - { - "name" : "082", - "id" : "082", - "data" : [ - [ - "Perl", - 62 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "name" : "083", - "id" : "083", - "data" : [ - [ - "Perl", - 73 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "084", - "id" : "084", - "data" : [ - [ - "Perl", - 71 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 64 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 18 - ] - ], - "name" : "085", - "id" : "085" - }, - { - "id" : "086", - "name" : "086", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "087", - "id" : "087", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 20 - ] - ], - "id" : "088", - "name" : "088" - }, - { - "id" : "089", - "name" : "089", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "name" : "090", - "id" : "090", - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "id" : "091", - "name" : "091", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "092", - "id" : "092", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "093", - "id" : "093", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 17 - ] - ], - "name" : "094", - "id" : "094" - }, - { - "name" : "095", - "id" : "095", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "name" : "096", - "id" : "096", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "id" : "097", - "name" : "097", - "data" : [ - [ - "Perl", - 63 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "id" : "098", - "name" : "098", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 32