From 25b6f89a6bbb4860b072d2f20ab72d6f4e4aa57d Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Mon, 2 Sep 2024 22:11:43 +0100 Subject: - Added solutions by Ulrich Rieke. - Added solutions by Paulo Custodio. - Added solutions by David Ferrone. - Added solutions by W. Luis Mochan. --- challenge-285/ulrich-rieke/cpp/ch-1.cpp | 40 ++ challenge-285/ulrich-rieke/cpp/ch-2.cpp | 26 + challenge-285/ulrich-rieke/haskell/ch-1.hs | 19 + challenge-285/ulrich-rieke/haskell/ch-2.hs | 16 + challenge-285/ulrich-rieke/perl/ch-1.pl | 17 + challenge-285/ulrich-rieke/perl/ch-2.pl | 25 + challenge-285/ulrich-rieke/raku/ch-1.raku | 12 + challenge-285/ulrich-rieke/raku/ch-2.raku | 21 + challenge-285/ulrich-rieke/rust/ch-1.rs | 21 + challenge-285/ulrich-rieke/rust/ch-2.rs | 25 + stats/pwc-current.json | 192 +++++--- stats/pwc-language-breakdown-2019.json | 328 ++++++------- stats/pwc-language-breakdown-2020.json | 342 ++++++------- stats/pwc-language-breakdown-2021.json | 720 +++++++++++++-------------- stats/pwc-language-breakdown-2022.json | 382 +++++++-------- stats/pwc-language-breakdown-2023.json | 340 ++++++------- stats/pwc-language-breakdown-2024.json | 536 ++++++++++---------- stats/pwc-language-breakdown-summary.json | 48 +- stats/pwc-leaders.json | 752 ++++++++++++++--------------- stats/pwc-summary-1-30.json | 106 ++-- stats/pwc-summary-121-150.json | 110 ++--- stats/pwc-summary-151-180.json | 56 +-- stats/pwc-summary-181-210.json | 42 +- stats/pwc-summary-211-240.json | 102 ++-- stats/pwc-summary-241-270.json | 52 +- stats/pwc-summary-271-300.json | 104 ++-- stats/pwc-summary-301-330.json | 76 +-- stats/pwc-summary-31-60.json | 58 +-- stats/pwc-summary-61-90.json | 116 ++--- stats/pwc-summary-91-120.json | 116 ++--- stats/pwc-summary.json | 44 +- stats/pwc-yearly-language-summary.json | 94 ++-- 32 files changed, 2616 insertions(+), 2322 deletions(-) create mode 100755 challenge-285/ulrich-rieke/cpp/ch-1.cpp create mode 100755 challenge-285/ulrich-rieke/cpp/ch-2.cpp create mode 100755 challenge-285/ulrich-rieke/haskell/ch-1.hs create mode 100755 challenge-285/ulrich-rieke/haskell/ch-2.hs create mode 100755 challenge-285/ulrich-rieke/perl/ch-1.pl create mode 100755 challenge-285/ulrich-rieke/perl/ch-2.pl create mode 100755 challenge-285/ulrich-rieke/raku/ch-1.raku create mode 100755 challenge-285/ulrich-rieke/raku/ch-2.raku create mode 100755 challenge-285/ulrich-rieke/rust/ch-1.rs create mode 100755 challenge-285/ulrich-rieke/rust/ch-2.rs diff --git a/challenge-285/ulrich-rieke/cpp/ch-1.cpp b/challenge-285/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..5055130792 --- /dev/null +++ b/challenge-285/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +#include +#include +#include + +std::vector split( std::string text , const char delimiter ) { + std::istringstream istr { text } ; + std::vector tokens ; + std::string word ; + while ( std::getline( istr , word , delimiter )) + tokens.push_back( word ) ; + return tokens ; +} + +int main( ) { + std::cout << "Enter some routes, separated by comma!\n" ; + std::cout << "For every route, separate start and destination by blank!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + std::vector routes { split( line, ',' ) } ; + std::vector> allRoutes ; + std::vector starts ;//for all start fields + for ( auto route : routes ) { + auto routepair = split( route , ' ' ) ;//first vector is start , then end + allRoutes.push_back( routepair ) ; + starts.push_back( routepair[0] ) ;//append start to collection of starts + } + std::vector solution ; + for ( auto p : allRoutes ) { + if ( std::find( starts.begin( ) , starts.end( ) , p[1] ) == + starts.end( ) ) //destination not found in starts + solution.push_back( p[1] ) ;//so part of solutin + } + std::copy( solution.begin( ) , solution.end( ) , + std::ostream_iterator( std::cout , " " ) ) ; + std::cout << '\n' ; + return 0 ; +} diff --git a/challenge-285/ulrich-rieke/cpp/ch-2.cpp b/challenge-285/ulrich-rieke/cpp/ch-2.cpp new file mode 100755 index 0000000000..e68be4c870 --- /dev/null +++ b/challenge-285/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,26 @@ +#include + +int main( ) { + int amount ; + std::cout << "Enter an amount of money in pennies!\n" ; + std::cin >> amount ; + int combis = 0 ; + for (int pennies = 0 ; pennies < amount + 1 ; pennies++ ) { + for ( int nickels = 0 ; nickels < (amount / 5 ) + 1 ; nickels++ ) { + for ( int dimes = 0 ; dimes < ( amount / 10 ) + 1 ; dimes++ ) { + for ( int quarters = 0 ; quarters < ( amount / 25 ) + 1 ; + quarters++ ) { + for ( int half_dollars = 0 ; half_dollars < ( amount / 50 ) + + 1 ; half_dollars++ ) { + if ( pennies + nickels * 5 + dimes * 10 + + quarters * 25 + half_dollars * 50 == amount ) + combis++ ; + } + } + } + } + } + std::cout << combis << '\n' ; + return 0 ; +} + diff --git a/challenge-285/ulrich-rieke/haskell/ch-1.hs b/challenge-285/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..0ddcd35d73 --- /dev/null +++ b/challenge-285/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,19 @@ +module Challenge285 + where +import Data.List.Split ( splitOn ) + +solution :: String -> String +solution input = + let routes = splitOn "," input + routepairs = map (\li -> (head li , last li ) ) $ map ( concat . + splitOn " " ) routes + starts = map fst routepairs + destinations = map snd routepairs + in filter (\dest -> notElem dest starts ) destinations + +main :: IO ( ) +main = do + putStrLn "Enter some routes, separated by ','!" + putStrLn "Separate start and destination by a blank!" + allRoutes <- getLine + print $ solution allRoutes diff --git a/challenge-285/ulrich-rieke/haskell/ch-2.hs b/challenge-285/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..e17bc8f81f --- /dev/null +++ b/challenge-285/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,16 @@ +module Challenge285_2 + where + +denominations :: [Int] +denominations = [50, 25 , 10 , 5 , 1] + +findCoinCombis :: [Int] -> Int -> [[Int]] +findCoinCombis [1] n = [[n]] +findCoinCombis ( den:rest ) n = [c:cs | c <- [0..div n den] , cs <- + findCoinCombis rest ( n - c * den )] + +main :: IO ( ) +main = do + putStrLn "Enter an amount of money in pennies!" + amount <- getLine + print $ length $ findCoinCombis denominations $ read amount diff --git a/challenge-285/ulrich-rieke/perl/ch-1.pl b/challenge-285/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..e66b2d5d88 --- /dev/null +++ b/challenge-285/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,17 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +say "Enter some routes ( start and destination separated by blank)!" ; +say "Enter routes by ','!" ; +my $line = ; +chomp( $line ) ; +my @routes = split( /\,/ , $line ) ; +my %routepairs ; +for my $route ( @routes ) { + my ( $start , $destination ) = split( /\s/ , $route ) ; + $routepairs{$start} = $destination ; +} +say join( ',' , grep { not ( exists( $routepairs{$_} ) ) } values + %routepairs ) ; diff --git a/challenge-285/ulrich-rieke/perl/ch-2.pl b/challenge-285/ulrich-rieke/perl/ch-2.pl new file mode 100755 index 0000000000..ef36e70a0d --- /dev/null +++ b/challenge-285/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use POSIX ; + +say "Enter an amount of money in pennies!" ; +my $amount = ; +chomp $amount ; +my $combis = 0 ; +for my $pennies( 0..$amount) { + for my $nickels( 0..floor( $amount / 5 ) ) { + for my $dimes( 0..floor( $amount / 10 ) ) { + for my $quarters( 0..floor( $amount / 25 ) ) { + for my $half_dollars( 0..floor( $amount / 50 ) ) { + if ( $pennies + $nickels * 5 + $dimes * 10 + $quarters * 25 + + $half_dollars * 50 == $amount ) { + $combis++ ; + } + } + } + } + } +} +say $combis ; diff --git a/challenge-285/ulrich-rieke/raku/ch-1.raku b/challenge-285/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..3dd8e08e78 --- /dev/null +++ b/challenge-285/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,12 @@ +use v6 ; + +say "Enter some routes, start and destination separated by blanks!" ; +say "Separate routes by ','!" ; +my $line = $*IN.get ; +my @routes = $line.split( /','/ ) ; +my %pairs ; +for @routes -> $route { + my ($start , $destination) = $route.split( /\s/ ) ; + %pairs{$start} = $destination ; +} +say join( ',' , %pairs.values.grep( {not %pairs{$_}:exists } )) ; diff --git a/challenge-285/ulrich-rieke/raku/ch-2.raku b/challenge-285/ulrich-rieke/raku/ch-2.raku new file mode 100755 index 0000000000..b6b7421d7b --- /dev/null +++ b/challenge-285/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,21 @@ +use v6 ; + +say "Enter an amount of money in cents!" ; +my $line = $*IN.get ; +my $amount = $line.Int ; +my $combis = 0 ; +for (0..$amount) -> $pennies { + for (0..$amount div 5 ) -> $nickels { + for (0..$amount div 10 ) -> $dimes { + for ( 0..$amount div 25) -> $quarters { + for ( 0..$amount div 50 ) -> $half-dollars { + if ($pennies + $nickels * 5 + $dimes * 10 + + $quarters * 25 + $half-dollars * 50 == $amount ) { + $combis++ ; + } + } + } + } + } +} +say $combis ; diff --git a/challenge-285/ulrich-rieke/rust/ch-1.rs b/challenge-285/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..1de72ede46 --- /dev/null +++ b/challenge-285/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,21 @@ +use std::io ; + +fn main() { + println!("Enter some routes!"); + println!("Enter start and destination by blank, routes by ','!" ) ; + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let entered_line : &str = inline.as_str( ).trim( ) ; + let routes : Vec<&str> = entered_line.split( ",").collect( ) ; + let pairs : Vec> = routes.iter( ).map( | s | + s.split_whitespace( ).collect( ) ).collect( ) ; + let mut solution : Vec<&str> = Vec::new( ) ; + for p in &pairs { + let destination = p[1] ; + if pairs.iter( ).filter( | &a_pair | a_pair[0] == destination ). + count( ) == 0 { + solution.push( destination ) ; + } + } + println!("{:?}" , solution ) ; +} diff --git a/challenge-285/ulrich-rieke/rust/ch-2.rs b/challenge-285/ulrich-rieke/rust/ch-2.rs new file mode 100755 index 0000000000..fa78414e07 --- /dev/null +++ b/challenge-285/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,25 @@ +use std::io ; + +fn main() { + println!("Enter an amount of money in cents!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let entered_line : &str = inline.as_str().trim( ) ; + let amount : u32 = entered_line.parse::( ).unwrap( ) ; + let mut combis : u64 = 0 ; + for pennies in 0..=amount { + for nickels in 0..=amount/5 { + for dimes in 0..=amount / 10 { + for quarters in 0..=amount / 25 { + for half_dollars in 0..=amount / 50 { + if pennies + nickels * 5 + dimes * 10 + quarters * 25 + + half_dollars * 50 == amount { + combis += 1 ; + } + } + } + } + } + } + println!("{}" , combis ) ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index fb0a273c30..2ea0b4c4c0 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,24 +1,100 @@ { + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, "subtitle" : { - "text" : "[Champions: 4] Last updated at 2024-09-02 12:06:32 GMT" + "text" : "[Champions: 8] Last updated at 2024-09-02 21:11:31 GMT" }, "xAxis" : { "type" : "category" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } + "series" : [ + { + "name" : "The Weekly Challenge - 285", + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Ali Moradi", + "y" : 3, + "name" : "Ali Moradi" + }, + { + "name" : "David Ferrone", + "y" : 3, + "drilldown" : "David Ferrone" + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "drilldown" : "Feng Chang", + "name" : "Feng Chang", + "y" : 2 + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "drilldown" : "Paulo Custodio", + "name" : "Paulo Custodio", + "y" : 2 + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "y" : 3, + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" + } + ] } + ], + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
" }, "drilldown" : { "series" : [ { - "name" : "Ali Moradi", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], "id" : "Ali Moradi", + "name" : "Ali Moradi" + }, + { "data" : [ [ "Perl", @@ -28,85 +104,81 @@ "Blog", 1 ] - ] + ], + "id" : "David Ferrone", + "name" : "David Ferrone" }, { - "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "id" : "E. Choroba" + "name" : "E. Choroba" }, { - "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] ], - "id" : "Feng Chang" + "id" : "Feng Chang", + "name" : "Feng Chang" }, { - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], + "id" : "Mark Anderson", "name" : "Mark Anderson" + }, + { + "name" : "Paulo Custodio", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Paulo Custodio" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke" + }, + { + "id" : "W. Luis Mochan", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "W. Luis Mochan" } ] }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "{series.name}
" - }, "title" : { "text" : "The Weekly Challenge - 285" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : 0 - }, - "series" : [ - { - "data" : [ - { - "name" : "Ali Moradi", - "drilldown" : "Ali Moradi", - "y" : 3 - }, - { - "y" : 2, - "name" : "E. Choroba", - "drilldown" : "E. Choroba" - }, - { - "y" : 2, - "drilldown" : "Feng Chang", - "name" : "Feng Chang" - }, - { - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson", - "y" : 2 - } - ], - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 285" - } - ] + } } diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index b309687867..e3ad5f00af 100644 --- a/stats/pwc-language-breakdown-2019.json +++ b/stats/pwc-language-breakdown-2019.json @@ -1,154 +1,142 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : "false" - }, "series" : [ { - "name" : "The Weekly Challenge Languages", "colorByPoint" : "true", "data" : [ { - "name" : "041", "drilldown" : "041", + "name" : "041", "y" : 80 }, { - "drilldown" : "040", "name" : "040", - "y" : 77 + "y" : 77, + "drilldown" : "040" }, { "name" : "039", - "drilldown" : "039", - "y" : 68 + "y" : 68, + "drilldown" : "039" }, { - "y" : 74, + "drilldown" : "038", "name" : "038", - "drilldown" : "038" + "y" : 74 }, { - "name" : "037", "drilldown" : "037", - "y" : 70 + "y" : 70, + "name" : "037" }, { - "y" : 70, "drilldown" : "036", + "y" : 70, "name" : "036" }, { - "name" : "035", "drilldown" : "035", + "name" : "035", "y" : 68 }, { - "drilldown" : "034", "name" : "034", - "y" : 70 + "y" : 70, + "drilldown" : "034" }, { - "name" : "033", "drilldown" : "033", - "y" : 113 + "y" : 113, + "name" : "033" }, { - "name" : "032", "drilldown" : "032", - "y" : 97 + "y" : 97, + "name" : "032" }, { - "drilldown" : "031", "name" : "031", - "y" : 93 + "y" : 93, + "drilldown" : "031" }, { + "y" : 120, "name" : "030", - "drilldown" : "030", - "y" : 120 + "drilldown" : "030" }, { + "name" : "029", "y" : 83, - "drilldown" : "029", - "name" : "029" + "drilldown" : "029" }, { - "y" : 82, "name" : "028", + "y" : 82, "drilldown" : "028" }, { - "y" : 64, "drilldown" : "027", - "name" : "027" + "name" : "027", + "y" : 64 }, { - "drilldown" : "026", + "y" : 75, "name" : "026", - "y" : 75 + "drilldown" : "026" }, { - "drilldown" : "025", "name" : "025", - "y" : 62 + "y" : 62, + "drilldown" : "025" }, { - "name" : "024", "drilldown" : "024", + "name" : "024", "y" : 77 }, { "drilldown" : "023", - "name" : "023", - "y" : 88 + "y" : 88, + "name" : "023" }, { + "drilldown" : "022", "y" : 72, - "name" : "022", - "drilldown" : "022" + "name" : "022" }, { - "drilldown" : "021", "name" : "021", - "y" : 72 + "y" : 72, + "drilldown" : "021" }, { + "y" : 100, "name" : "020", - "drilldown" : "020", - "y" : 100 + "drilldown" : "020" }, { + "drilldown" : "019", "y" : 101, - "name" : "019", - "drilldown" : "019" + "name" : "019" }, { "name" : "018", - "drilldown" : "018", - "y" : 82 + "y" : 82, + "drilldown" : "018" }, { - "name" : "017", "drilldown" : "017", + "name" : "017", "y" : 83 }, { + "name" : "016", "y" : 75, - "drilldown" : "016", - "name" : "016" + "drilldown" : "016" }, { "drilldown" : "015", - "name" : "015", - "y" : 95 + "y" : 95, + "name" : "015" }, { "drilldown" : "014", @@ -161,44 +149,44 @@ "drilldown" : "013" }, { - "name" : "012", "drilldown" : "012", - "y" : 90 + "y" : 90, + "name" : "012" }, { - "name" : "011", "drilldown" : "011", - "y" : 86 + "y" : 86, + "name" : "011" }, { - "drilldown" : "010", "name" : "010", - "y" : 69 + "y" : 69, + "drilldown" : "010" }, { - "y" : 79, "drilldown" : "009", - "name" : "009" + "name" : "009", + "y" : 79 }, { - "drilldown" : "008", "name" : "008", - "y" : 82 + "y" : 82, + "drilldown" : "008" }, { - "name" : "007", "drilldown" : "007", + "name" : "007", "y" : 71 }, { "y" : 63, - "drilldown" : "006", - "name" : "006" + "name" : "006", + "drilldown" : "006" }, { "y" : 82, - "drilldown" : "005", - "name" : "005" + "name" : "005", + "drilldown" : "005" }, { "y" : 106, @@ -206,26 +194,24 @@ "drilldown" : "004" }, { - "y" : 91, "name" : "003", + "y" : 91, "drilldown" : "003" }, { + "drilldown" : "002", "y" : 133, - "name" : "002", - "drilldown" : "002" + "name" : "002" }, { "drilldown" : "001", "name" : "001", "y" : 165 } - ] + ], + "name" : "The Weekly Challenge Languages" } ], - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { @@ -283,6 +269,8 @@ "name" : "039" }, { + "name" : "038", + "id" : "038", "data" : [ [ "Perl", @@ -296,11 +284,11 @@ "Blog", 12 ] - ], - "id" : "038", - "name" : "038" + ] }, { + "name" : "037", + "id" : "037", "data" : [ [ "Perl", @@ -314,9 +302,7 @@ "Blog", 9 ] - ], - "id" : "037", - "name" : "037" + ] }, { "name" : "036", @@ -337,8 +323,6 @@ ] }, { - "name" : "035", - "id" : "035", "data" : [ [ "Perl", @@ -352,9 +336,12 @@ "Blog", 9 ] - ] + ], + "id" : "035", + "name" : "035" }, { + "id" : "034", "data" : [ [ "Perl", @@ -369,7 +356,6 @@ 11 ] ], - "id" : "034", "name" : "034" }, { @@ -392,6 +378,7 @@ }, { "name" : "032", + "id" : "032", "data" : [ [ "Perl", @@ -405,11 +392,9 @@ "Blog", 10 ] - ], - "id" : "032" + ] }, { - "name" : "031", "data" : [ [ "Perl", @@ -424,10 +409,10 @@ 9 ] ], - "id" : "031" + "id" : "031", + "name" : "031" }, { - "id" : "030", "data" : [ [ "Perl", @@ -442,11 +427,10 @@ 10 ] ], + "id" : "030", "name" : "030" }, { - "name" : "029", - "id" : "029", "data" : [ [ "Perl", @@ -460,7 +444,9 @@ "Blog", 12 ] - ] + ], + "id" : "029", + "name" : "029" }, { "id" : "028", @@ -482,7 +468,6 @@ }, { "name" : "027", - "id" : "027", "data" : [ [ "Perl", @@ -496,10 +481,11 @@ "Blog", 9 ] - ] + ], + "id" : "027" }, { - "name" : "026", + "id" : "026", "data" : [ [ "Perl", @@ -514,10 +500,9 @@ 10 ] ], - "id" : "026" + "name" : "026" }, { - "name" : "025", "id" : "025", "data" : [ [ @@ -532,10 +517,10 @@ "Blog", 12 ] - ] + ], + "name" : "025" }, { - "name" : "024", "id" : "024", "data" : [ [ @@ -550,10 +535,12 @@ "Blog", 11 ] - ] + ], + "name" : "024" }, { "name" : "023", + "id" : "023", "data" : [ [ "Perl", @@ -567,10 +554,10 @@ "Blog", 12 ] - ], - "id" : "023" + ] }, { + "id" : "022", "data" : [ [ "Perl", @@ -585,12 +572,10 @@ 10 ] ], - "id" : "022", "name" : "022" }, { "name" : "021", - "id" : "021", "data" : [ [ "Perl", @@ -604,9 +589,12 @@ "Blog", 10 ] - ] + ], + "id" : "021" }, { + "name" : "020", + "id" : "020", "data" : [ [ "Perl", @@ -620,9 +608,7 @@ "Blog", 13 ] - ], - "id" : "020", - "name" : "020" + ] }, { "id" : "019", @@ -643,6 +629,7 @@ "name" : "019" }, { + "name" : "018", "data" : [ [ "Perl", @@ -657,12 +644,9 @@ 14 ] ], - "id" : "018", - "name" : "018" + "id" : "018" }, { - "name" : "017", - "id" : "017", "data" : [ [ "Perl", @@ -676,10 +660,12 @@ "Blog", 12 ] - ] + ], + "id" : "017", + "name" : "017" }, { - "id" : "016", + "name" : "016", "data" : [ [ "Perl", @@ -694,11 +680,9 @@ 13 ] ], - "name" : "016" + "id" : "016" }, { - "name" : "015", - "id" : "015", "data" : [ [ "Perl", @@ -712,10 +696,13 @@ "Blog", 15 ] - ] + ], + "id" : "015", + "name" : "015" }, { "name" : "014", + "id" : "014", "data" : [ [ "Perl", @@ -729,12 +716,10 @@ "Blog", 15 ] - ], - "id" : "014" + ] }, { "name" : "013", - "id" : "013", "data" : [ [ "Perl", @@ -748,9 +733,11 @@ "Blog", 13 ] - ] + ], + "id" : "013" }, { + "id" : "012", "data" : [ [ "Perl", @@ -765,11 +752,9 @@ 11 ] ], - "id" : "012", "name" : "012" }, { - "name" : "011", "data" : [ [ "Perl", @@ -784,10 +769,12 @@ 10 ] ], - "id" : "011" + "id" : "011", + "name" : "011" }, { "name" : "010", + "id" : "010", "data" : [ [ "Perl", @@ -801,10 +788,11 @@ "Blog", 11 ] - ], - "id" : "010" + ] }, { + "name" : "009", + "id" : "009", "data" : [ [ "Perl", @@ -818,13 +806,10 @@ "Blog", 13 ] - ], - "id" : "009", - "name" : "009" + ] }, { "name" : "008", - "id" : "008", "data" : [ [ "Perl", @@ -838,11 +823,10 @@ "Blog", 12 ] - ] + ], + "id" : "008" }, { - "name" : "007", - "id" : "007", "data" : [ [ "Perl", @@ -856,9 +840,12 @@ "Blog", 10 ] - ] + ], + "id" : "007", + "name" : "007" }, { + "name" : "006", "id" : "006", "data" : [ [ @@ -873,11 +860,9 @@ "Blog", 7 ] - ], - "name" : "006" + ] }, { - "name" : "005", "data" : [ [ "Perl", @@ -892,9 +877,11 @@ 12 ] ], - "id" : "005" + "id" : "005", + "name" : "005" }, { + "name" : "004", "id" : "004", "data" : [ [ @@ -909,11 +896,9 @@ "Blog", 10 ] - ], - "name" : "004" + ] }, { - "name" : "003", "id" : "003", "data" : [ [ @@ -928,10 +913,10 @@ "Blog", 9 ] - ] + ], + "name" : "003" }, { - "name" : "002", "id" : "002", "data" : [ [ @@ -946,7 +931,8 @@ "Blog", 10 ] - ] + ], + "name" : "002" }, { "data" : [ @@ -968,24 +954,38 @@ } ] }, + "title" : { + "text" : "The Weekly Challenge Language" + }, + "tooltip" : { + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "headerFormat" : "", + "followPointer" : "true" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 } }, - "tooltip" : { - "headerFormat" : "", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true" + "chart" : { + "type" : "column" }, - "title" : { - "text" : "The Weekly Challenge Language" + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category" }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-09-02 12:06:32 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-09-02 21:11:31 GMT" } } diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json index 04d0458908..14a762cb2e 100644 --- a/stats/pwc-language-breakdown-2020.json +++ b/stats/pwc-language-breakdown-2020.json @@ -1,47 +1,59 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-09-02 12:06:32 GMT" + "chart" : { + "type" : "column" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-09-02 21:11:31 GMT" }, "legend" : { "enabled" : "false" }, + "xAxis" : { + "type" : "category" + }, "series" : [ { - "colorByPoint" : "true", "name" : "The Weekly Challenge Languages", + "colorByPoint" : "true", "data" : [ { "y" : 87, - "drilldown" : "093", - "name" : "093" + "name" : "093", + "drilldown" : "093" }, { - "y" : 98, "drilldown" : "092", - "name" : "092" + "name" : "092", + "y" : 98 }, { - "drilldown" : "091", + "y" : 108, "name" : "091", - "y" : 108 + "drilldown" : "091" }, { + "y" : 113, "name" : "090", - "drilldown" : "090", - "y" : 113 + "drilldown" : "090" }, { - "drilldown" : "089", + "y" : 113, "name" : "089", - "y" : 113 + "drilldown" : "089" }, { "y" : 121, @@ -50,18 +62,18 @@ }, { "y" : 101, - "drilldown" : "087", - "name" : "087" + "name" : "087", + "drilldown" : "087" }, { + "name" : "086", "y" : 104, - "drilldown" : "086", - "name" : "086" + "drilldown" : "086" }, { - "y" : 113, + "drilldown" : "085", "name" : "085", - "drilldown" : "085" + "y" : 113 }, { "drilldown" : "084", @@ -69,39 +81,39 @@ "y" : 119 }, { + "drilldown" : "083", "y" : 127, - "name" : "083", - "drilldown" : "083" + "name" : "083" }, { - "y" : 114, "name" : "082", + "y" : 114, "drilldown" : "082" }, { - "y" : 114, "name" : "081", + "y" : 114, "drilldown" : "081" }, { + "name" : "080", "y" : 127, - "drilldown" : "080", - "name" : "080" + "drilldown" : "080" }, { - "y" : 122, "drilldown" : "079", + "y" : 122, "name" : "079" }, { - "name" : "078", "drilldown" : "078", + "name" : "078", "y" : 127 }, { - "drilldown" : "077", "name" : "077", - "y" : 100 + "y" : 100, + "drilldown" : "077" }, { "drilldown" : "076", @@ -109,29 +121,29 @@ "y" : 101 }, { + "y" : 117, "name" : "075", - "drilldown" : "075", - "y" : 117 + "drilldown" : "075" }, { - "y" : 117, "name" : "074", + "y" : 117, "drilldown" : "074" }, { "name" : "073", - "drilldown" : "073", - "y" : 112 + "y" : 112, + "drilldown" : "073" }, { "drilldown" : "072", - "name" : "072", - "y" : 116 + "y" : 116, + "name" : "072" }, { "drilldown" : "071", - "name" : "071", - "y" : 82 + "y" : 82, + "name" : "071" }, { "drilldown" : "070", @@ -139,14 +151,14 @@ "y" : 98 }, { + "drilldown" : "069", "y" : 87, - "name" : "069", - "drilldown" : "069" + "name" : "069" }, { + "y" : 79, "name" : "068", - "drilldown" : "068", - "y" : 79 + "drilldown" : "068" }, { "drilldown" : "067", @@ -154,28 +166,28 @@ "y" : 94 }, { - "name" : "066", "drilldown" : "066", - "y" : 88 + "y" : 88, + "name" : "066" }, { - "drilldown" : "065", + "y" : 77, "name" : "065", - "y" : 77 + "drilldown" : "065" }, { - "name" : "064", "drilldown" : "064", + "name" : "064", "y" : 84 }, { "drilldown" : "063", - "name" : "063", - "y" : 93 + "y" : 93, + "name" : "063" }, { - "name" : "062", "drilldown" : "062", + "name" : "062", "y" : 62 }, { @@ -184,59 +196,59 @@ "y" : 85 }, { - "y" : 89, "drilldown" : "060", - "name" : "060" + "name" : "060", + "y" : 89 }, { "name" : "059", - "drilldown" : "059", - "y" : 93 + "y" : 93, + "drilldown" : "059" }, { - "name" : "058", "drilldown" : "058", + "name" : "058", "y" : 71 }, { "drilldown" : "057", - "name" : "057", - "y" : 86 + "y" : 86, + "name" : "057" }, { - "y" : 104, "drilldown" : "056", - "name" : "056" + "name" : "056", + "y" : 104 }, { - "y" : 92, "drilldown" : "055", - "name" : "055" + "name" : "055", + "y" : 92 }, { "y" : 107, - "drilldown" : "054", - "name" : "054" + "name" : "054", + "drilldown" : "054" }, { "y" : 105, - "drilldown" : "053", - "name" : "053" + "name" : "053", + "drilldown" : "053" }, { - "y" : 93, "name" : "052", + "y" : 93, "drilldown" : "052" }, { - "y" : 95, "drilldown" : "051", + "y" : 95, "name" : "051" }, { "y" : 104, - "drilldown" : "050", - "name" : "050" + "name" : "050", + "drilldown" : "050" }, { "y" : 93, @@ -244,9 +256,9 @@ "drilldown" : "049" }, { - "y" : 112, + "drilldown" : "048", "name" : "048", - "drilldown" : "048" + "y" : 112 }, { "y" : 88, @@ -254,19 +266,19 @@ "drilldown" : "047" }, { + "name" : "046", "y" : 93, - "drilldown" : "046", - "name" : "046" + "drilldown" : "046" }, { - "y" : 102, "drilldown" : "045", + "y" : 102, "name" : "045" }, { "name" : "044", - "drilldown" : "044", - "y" : 90 + "y" : 90, + "drilldown" : "044" }, { "drilldown" : "043", @@ -274,29 +286,22 @@ "y" : 72 }, { + "name" : "042", "y" : 98, - "drilldown" : "042", - "name" : "042" + "drilldown" : "042" } ] } ], - "xAxis" : { - "type" : "category" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } + "tooltip" : { + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "headerFormat" : "", + "followPointer" : "true" }, "drilldown" : { "series" : [ { - "name" : "093", + "id" : "093", "data" : [ [ "Perl", @@ -311,7 +316,7 @@ 16 ] ], - "id" : "093" + "name" : "093" }, { "name" : "092", @@ -332,7 +337,7 @@ ] }, { - "name" : "091", + "id" : "091", "data" : [ [ "Perl", @@ -347,9 +352,11 @@ 16 ] ], - "id" : "091" + "name" : "091" }, { + "name" : "090", + "id" : "090", "data" : [ [ "Perl", @@ -363,9 +370,7 @@ "Blog", 17 ] - ], - "id" : "090", - "name" : "090" + ] }, { "name" : "089", @@ -386,6 +391,8 @@ ] }, { + "name" : "088", + "id" : "088", "data" : [ [ "Perl", @@ -399,13 +406,9 @@ "Blog", 20 ] - ], - "id" : "088", - "name" : "088" + ] }, { - "name" : "087", - "id" : "087", "data" : [ [ "Perl", @@ -419,10 +422,11 @@ "Blog", 14 ] - ] + ], + "id" : "087", + "name" : "087" }, { - "name" : "086", "id" : "086", "data" : [ [ @@ -437,9 +441,12 @@ "Blog", 15 ] - ] + ], + "name" : "086" }, { + "name" : "085", + "id" : "085", "data" : [ [ "Perl", @@ -453,12 +460,9 @@ "Blog", 18 ] - ], - "id" : "085", - "name" : "085" + ] }, { - "id" : "084", "data" : [ [ "Perl", @@ -473,9 +477,11 @@ 12 ] ], + "id" : "084", "name" : "084" }, { + "name" : "083", "id" : "083", "data" : [ [ @@ -490,11 +496,10 @@ "Blog", 16 ] - ], - "name" : "083" + ] }, { - "id" : "082", + "name" : "082", "data" : [ [ "Perl", @@ -509,7 +514,7 @@ 17 ] ], - "name" : "082" + "id" : "082" }, { "id" : "081", @@ -566,6 +571,8 @@ ] }, { + "name" : "078", + "id" : "078", "data" : [ [ "Perl", @@ -579,12 +586,9 @@ "Blog", 18 ] - ], - "id" : "078", - "name" : "078" + ] }, { - "name" : "077", "id" : "077", "data" : [ [ @@ -599,9 +603,11 @@ "Blog", 14 ] - ] + ], + "name" : "077" }, { + "id" : "076", "data" : [ [ "Perl", @@ -616,11 +622,10 @@ 16 ] ], - "id" : "076", "name" : "076" }, { - "name" : "075", + "id" : "075", "data" : [ [ "Perl", @@ -635,10 +640,11 @@ 20 ] ], - "id" : "075" + "name" : "075" }, { "name" : "074", + "id" : "074", "data" : [ [ "Perl", @@ -652,11 +658,9 @@ "Blog", 20 ] - ], - "id" : "074" + ] }, { - "id" : "073", "data" : [ [ "Perl", @@ -671,10 +675,11 @@ 17 ] ], + "id" : "073", "name" : "073" }, { - "name" : "072", + "id" : "072", "data" : [ [ "Perl", @@ -689,7 +694,7 @@ 19 ] ], - "id" : "072" + "name" : "072" }, { "name" : "071", @@ -746,6 +751,8 @@ ] }, { + "name" : "068", + "id" : "068", "data" : [ [ "Perl", @@ -759,9 +766,7 @@ "Blog", 13 ] - ], - "id" : "068", - "name" : "068" + ] }, { "data" : [ @@ -818,6 +823,8 @@ ] }, { + "name" : "064", + "id" : "064", "data" : [ [ "Perl", @@ -831,13 +838,9 @@ "Blog", 16 ] - ], - "id" : "064", - "name" : "064" + ] }, { - "name" : "063", - "id" : "063", "data" : [ [ "Perl", @@ -851,10 +854,11 @@ "Blog", 13 ] - ] + ], + "id" : "063", + "name" : "063" }, { - "id" : "062", "data" : [ [ "Perl", @@ -869,6 +873,7 @@ 11 ] ], + "id" : "062", "name" : "062" }, { @@ -890,6 +895,7 @@ "id" : "061" }, { + "name" : "060", "id" : "060", "data" : [ [ @@ -904,11 +910,10 @@ "Blog", 16 ] - ], - "name" : "060" + ] }, { - "id" : "059", + "name" : "059", "data" : [ [ "Perl", @@ -923,7 +928,7 @@ 16 ] ], - "name" : "059" + "id" : "059" }, { "name" : "058", @@ -944,7 +949,7 @@ ] }, { - "id" : "057", + "name" : "057", "data" : [ [ "Perl", @@ -959,10 +964,9 @@ 15 ] ], - "name" : "057" + "id" : "057" }, { - "name" : "056", "id" : "056", "data" : [ [ @@ -977,10 +981,10 @@ "Blog", 17 ] - ] + ], + "name" : "056" }, { - "id" : "055", "data" : [ [ "Perl", @@ -995,10 +999,12 @@ 14 ] ], + "id" : "055", "name" : "055" }, { "name" : "054", + "id" : "054", "data" : [ [ "Perl", @@ -1012,11 +1018,10 @@ "Blog", 18 ] - ], - "id" : "054" + ] }, { - "id" : "053", + "name" : "053", "data" : [ [ "Perl", @@ -1031,10 +1036,9 @@ 15 ] ], - "name" : "053" + "id" : "053" }, { - "name" : "052", "data" : [ [ "Perl", @@ -1049,9 +1053,11 @@ 14 ] ], - "id" : "052" + "id" : "052", + "name" : "052" }, { + "id" : "051", "data" : [ [ "Perl", @@ -1066,12 +1072,10 @@ 11 ] ], - "id" : "051", "name" : "051" }, { "name" : "050", - "id" : "050", "data" : [ [ "Perl", @@ -1085,7 +1089,8 @@ "Blog", 12 ] - ] + ], + "id" : "050" }, { "name" : "049", @@ -1106,7 +1111,7 @@ ] }, { - "id" : "048", + "name" : "048", "data" : [ [ "Perl", @@ -1121,10 +1126,10 @@ 12 ] ], - "name" : "048" + "id" : "048" }, { - "id" : "047", + "name" : "047", "data" : [ [ "Perl", @@ -1139,10 +1144,11 @@ 10 ] ], - "name" : "047" + "id" : "047" }, { "name" : "046", + "id" : "046", "data" : [ [ "Perl", @@ -1156,11 +1162,11 @@ "Blog", 10 ] - ], - "id" : "046" + ] }, { "name" : "045", + "id" : "045", "data" : [ [ "Perl", @@ -1174,10 +1180,11 @@ "Blog", 11 ] - ], - "id" : "045" + ] }, { + "name" : "044", + "id" : "044", "data" : [ [ "Perl", @@ -1191,9 +1198,7 @@ "Blog", 11 ] - ], - "id" : "044", - "name" : "044" + ] }, { "name" : "043", @@ -1233,11 +1238,6 @@ } ] }, - "tooltip" : { - "headerFormat" : "", - "followPointer" : "true", - "pointFormat" : "Challenge {point.name}: {point.y:f}
" - }, "title" : { "text" : "The Weekly Challenge Language" } diff --git a/stats/pwc-language-breakdown-2021.json b/stats/pwc-language-breakdown-2021.json index 08e74ad4ff..9804fffaf7 100644 --- a/stats/pwc-language-breakdown-2021.json +++ b/stats/pwc-language-breakdown-2021.json @@ -1,15 +1,300 @@ { - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-09-02 12:06:32 GMT" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-09-02 21:11:31 GMT" + }, + "series" : [ + { + "colorByPoint" : "true", + "data" : [ + { + "drilldown" : 145, + "name" : "145", + "y" : 96 + }, + { + "name" : "144", + "y" : 90, + "drilldown" : 144 + }, + { + "y" : 85, + "name" : "143", + "drilldown" : 143 + }, + { + "y" : 85, + "name" : "142", + "drilldown" : 142 + }, + { + "y" : 102, + "name" : "141", + "drilldown" : 141 + }, + { + "drilldown" : 140, + "name" : "140", + "y" : 103 + }, + { + "name" : "139", + "y" : 97, + "drilldown" : 139 + }, + { + "y" : 102, + "name" : "138", + "drilldown" : 138 + }, + { + "drilldown" : 137, + "name" : "137", + "y" : 100 + }, + { + "y" : 97, + "name" : "136", + "drilldown" : 136 + }, + { + "name" : "135", + "y" : 104, + "drilldown" : 135 + }, + { + "y" : 94, + "name" : "134", + "drilldown" : 134 + }, + { + "drilldown" : 133, + "name" : "133", + "y" : 95 + }, + { + "drilldown" : 132, + "name" : "132", + "y" : 78 + }, + { + "y" : 91, + "name" : "131", + "drilldown" : 131 + }, + { + "y" : 75, + "name" : "130", + "drilldown" : 130 + }, + { + "drilldown" : 129, + "y" : 52, + "name" : "129" + }, + { + "drilldown" : 128, + "name" : "128", + "y" : 73 + }, + { + "name" : "127", + "y" : 115, + "drilldown" : 127 + }, + { + "name" : "126", + "y" : 113, + "drilldown" : 126 + }, + { + "y" : 65, + "name" : "125", + "drilldown" : 125 + }, + { + "drilldown" : 124, + "y" : 87, + "name" : "124" + }, + { + "name" : "123", + "y" : 105, + "drilldown" : 123 + }, + { + "name" : "122", + "y" : 110, + "drilldown" : 122 + }, + { + "drilldown" : 121, + "y" : 94, + "name" : "121" + }, + { + "drilldown" : 120, + "name" : "120", + "y" : 116 + }, + { + "drilldown" : 119, + "name" : "119", + "y" : 125 + }, + { + "drilldown" : 118, + "name" : "118", + "y" : 85 + }, + { + "drilldown" : 117, + "y" : 99, + "name" : "117" + }, + { + "name" : "116", + "y" : 97, + "drilldown" : 116 + }, + { + "drilldown" : 115, + "y" : 98, + "name" : "115" + }, + { + "name" : "114", + "y" : 110, + "drilldown" : 114 + }, + { + "drilldown" : 113, + "name" : "113", + "y" : 94 + }, + { + "y" : 94, + "name" : "112", + "drilldown" : 112 + }, + { + "drilldown" : 111, + "name" : "111", + "y" : 93 + }, + { + "drilldown" : 110, + "y" : 110, + "name" : "110" + }, + { + "name" : "109", + "y" : 109, + "drilldown" : 109 + }, + { + "y" : 96, + "name" : "108", + "drilldown" : 108 + }, + { + "name" : "107", + "y" : 92, + "drilldown" : 107 + }, + { + "drilldown" : 106, + "y" : 97, + "name" : "106" +