From e9d030e5fd8fa107797fac1489bca6ce2724d212 Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Mon, 10 Feb 2025 20:39:47 +0000 Subject: - Added solutions by Eric Cheung. - Added solutions by Ulrich Rieke. - Added solutions by Mark Anderson. - Added solutions by David Ferrone. - Added solutions by Ali Moradi. - Added solutions by Niels van Dijke. - Added solutions by Peter Pentchev. - Added solutions by E. Choroba. - Added solutions by Peter Meszaros. - Added solutions by Thomas Kohler. - Added solutions by W. Luis Mochan. - Added solutions by BarrOff. --- challenge-308/eric-cheung/python/ch-1.py | 16 + challenge-308/eric-cheung/python/ch-2.py | 19 + challenge-308/perlboy1967/perl/ch-1.pl | 46 + challenge-308/perlboy1967/perl/ch-2.pl | 37 + challenge-308/perlboy1967/perl/ch1.pl | 46 - challenge-308/perlboy1967/perl/ch2.pl | 37 - challenge-308/ulrich-rieke/cpp/ch-1.cpp | 39 + challenge-308/ulrich-rieke/cpp/ch-2.cpp | 42 + challenge-308/ulrich-rieke/haskell/ch-1.hs | 16 + challenge-308/ulrich-rieke/haskell/ch-2.hs | 18 + challenge-308/ulrich-rieke/perl/ch-1.pl | 24 + challenge-308/ulrich-rieke/perl/ch-2.pl | 22 + challenge-308/ulrich-rieke/raku/ch-1.raku | 19 + challenge-308/ulrich-rieke/raku/ch-2.raku | 17 + challenge-308/ulrich-rieke/rust/ch-1.rs | 21 + challenge-308/ulrich-rieke/rust/ch-2.rs | 24 + stats/pwc-challenge-307.json | 479 +++++++ stats/pwc-current.json | 379 +----- stats/pwc-language-breakdown-2019.json | 302 ++--- stats/pwc-language-breakdown-2020.json | 428 +++--- stats/pwc-language-breakdown-2021.json | 752 +++++------ stats/pwc-language-breakdown-2022.json | 758 +++++------ stats/pwc-language-breakdown-2023.json | 416 +++--- stats/pwc-language-breakdown-2024.json | 764 +++++------ stats/pwc-language-breakdown-2025.json | 113 +- stats/pwc-language-breakdown-summary.json | 64 +- stats/pwc-leaders.json | 456 +++---- stats/pwc-summary-1-30.json | 106 +- stats/pwc-summary-121-150.json | 110 +- stats/pwc-summary-151-180.json | 102 +- stats/pwc-summary-181-210.json | 108 +- stats/pwc-summary-211-240.json | 38 +- stats/pwc-summary-241-270.json | 82 +- stats/pwc-summary-271-300.json | 38 +- stats/pwc-summary-301-330.json | 66 +- stats/pwc-summary-31-60.json | 112 +- stats/pwc-summary-61-90.json | 104 +- stats/pwc-summary-91-120.json | 94 +- stats/pwc-summary.json | 1970 ++++++++++++++-------------- stats/pwc-yearly-language-summary.json | 166 +-- 40 files changed, 4482 insertions(+), 3968 deletions(-) create mode 100755 challenge-308/eric-cheung/python/ch-1.py create mode 100755 challenge-308/eric-cheung/python/ch-2.py create mode 100755 challenge-308/perlboy1967/perl/ch-1.pl create mode 100755 challenge-308/perlboy1967/perl/ch-2.pl delete mode 100755 challenge-308/perlboy1967/perl/ch1.pl delete mode 100755 challenge-308/perlboy1967/perl/ch2.pl create mode 100755 challenge-308/ulrich-rieke/cpp/ch-1.cpp create mode 100755 challenge-308/ulrich-rieke/cpp/ch-2.cpp create mode 100755 challenge-308/ulrich-rieke/haskell/ch-1.hs create mode 100755 challenge-308/ulrich-rieke/haskell/ch-2.hs create mode 100755 challenge-308/ulrich-rieke/perl/ch-1.pl create mode 100755 challenge-308/ulrich-rieke/perl/ch-2.pl create mode 100755 challenge-308/ulrich-rieke/raku/ch-1.raku create mode 100755 challenge-308/ulrich-rieke/raku/ch-2.raku create mode 100755 challenge-308/ulrich-rieke/rust/ch-1.rs create mode 100755 challenge-308/ulrich-rieke/rust/ch-2.rs create mode 100644 stats/pwc-challenge-307.json diff --git a/challenge-308/eric-cheung/python/ch-1.py b/challenge-308/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..e05d16d0b8 --- /dev/null +++ b/challenge-308/eric-cheung/python/ch-1.py @@ -0,0 +1,16 @@ + +## Example 1 +## arrStr_01 = ["perl", "weekly", "challenge"] +## arrStr_02 = ["raku", "weekly", "challenge"] + +## Example 2 +## arrStr_01 = ["perl", "raku", "python"] +## arrStr_02 = ["python", "java"] + +## Example 3 +arrStr_01 = ["guest", "contribution"] +arrStr_02 = ["fun", "weekly", "challenge"] + +arrCommon = [strLoop for strLoop in arrStr_01 if strLoop in arrStr_02] + +print (len(arrCommon)) diff --git a/challenge-308/eric-cheung/python/ch-2.py b/challenge-308/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..3aaa8972ac --- /dev/null +++ b/challenge-308/eric-cheung/python/ch-2.py @@ -0,0 +1,19 @@ + +## Ref. +## If c = a ^ b, then a = c ^ b or a = b ^ c +## Similarly, b = c ^ a or b = a ^ c + +## Example 1 +## arrEncoded = [1, 2, 3] +## nInitial = 1 + +## Example 2 +arrEncoded = [6, 2, 7, 3] +nInitial = 4 + +arrOutput = [nInitial] + +for nElem in arrEncoded: + arrOutput.append(arrOutput[-1] ^ nElem) + +print (arrOutput) diff --git a/challenge-308/perlboy1967/perl/ch-1.pl b/challenge-308/perlboy1967/perl/ch-1.pl new file mode 100755 index 0000000000..c9009fa9f2 --- /dev/null +++ b/challenge-308/perlboy1967/perl/ch-1.pl @@ -0,0 +1,46 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 303 +L + +Author: Niels 'PerlBoy' van Dijke + +Task 1: Count Common +Submitted by: Mohammad Sajid Anwar + +You are given two array of strings, @str1 and @str2. + +Write a script to return the count of common strings in both arrays. + +=cut + +use v5.32; +use common::sense; +use feature qw(signatures); + +use Test2::V0 qw(-no_srand); + +no warnings qw(experimental::signatures); + +sub countCommon :prototype(\@\@) ($ar1,$ar2) { + my (%f1,%f2,%f3); + map { $f1{$_} = 1 } @$ar1; + map { $f2{$_} = 1 } @$ar2; + map { $f3{$_}++ } keys %f1, keys %f2; + scalar grep { $f3{$_} == 2 } keys %f3; +} + +is(countCommon(@{[qw(perl weekly challenge)]}, + @{[qw(raku weekly challenge)]}), + 2,'Example 1'); +is(countCommon(@{[qw(perl raku python)]}, + @{[qw(python java)]}), + 1,'Example 2'); +is(countCommon(@{[qw(guest contribution)]}, + @{[qw(fun weekly challenge)]}), + 0,'Example 3'); +is(countCommon(@{[1,2,2,3]},@{[2,3,3,4]}),2,'Own test'); + +done_testing; diff --git a/challenge-308/perlboy1967/perl/ch-2.pl b/challenge-308/perlboy1967/perl/ch-2.pl new file mode 100755 index 0000000000..11b87c4cc7 --- /dev/null +++ b/challenge-308/perlboy1967/perl/ch-2.pl @@ -0,0 +1,37 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 303 +L + +Author: Niels 'PerlBoy' van Dijke + +Task 2: Decode XOR +Submitted by: Mohammad Sajid Anwar + +You are given an encoded array and an initial integer. + +Write a script to find the original array that produced the given encoded +array. It was encoded such that encoded[i] = orig[i] XOR orig[i + 1]. + +=cut + +use v5.32; +use common::sense; +use feature qw(signatures); + +use Test2::V0 qw(-no_srand); + +no warnings qw(experimental::signatures); + +sub decodeXOR ($initial,@encoded) { + my @l = ($initial); + push(@l,$l[-1] ^ $_) for (@encoded); + return @l; +} + +is([decodeXOR(1,1,2,3)],[1,0,2,1],'Example 1'); +is([decodeXOR(4,6,2,7,3)],[4,2,0,7,4],'Example 2'); + +done_testing; diff --git a/challenge-308/perlboy1967/perl/ch1.pl b/challenge-308/perlboy1967/perl/ch1.pl deleted file mode 100755 index c9009fa9f2..0000000000 --- a/challenge-308/perlboy1967/perl/ch1.pl +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/perl - -=pod - -The Weekly Challenge - 303 -L - -Author: Niels 'PerlBoy' van Dijke - -Task 1: Count Common -Submitted by: Mohammad Sajid Anwar - -You are given two array of strings, @str1 and @str2. - -Write a script to return the count of common strings in both arrays. - -=cut - -use v5.32; -use common::sense; -use feature qw(signatures); - -use Test2::V0 qw(-no_srand); - -no warnings qw(experimental::signatures); - -sub countCommon :prototype(\@\@) ($ar1,$ar2) { - my (%f1,%f2,%f3); - map { $f1{$_} = 1 } @$ar1; - map { $f2{$_} = 1 } @$ar2; - map { $f3{$_}++ } keys %f1, keys %f2; - scalar grep { $f3{$_} == 2 } keys %f3; -} - -is(countCommon(@{[qw(perl weekly challenge)]}, - @{[qw(raku weekly challenge)]}), - 2,'Example 1'); -is(countCommon(@{[qw(perl raku python)]}, - @{[qw(python java)]}), - 1,'Example 2'); -is(countCommon(@{[qw(guest contribution)]}, - @{[qw(fun weekly challenge)]}), - 0,'Example 3'); -is(countCommon(@{[1,2,2,3]},@{[2,3,3,4]}),2,'Own test'); - -done_testing; diff --git a/challenge-308/perlboy1967/perl/ch2.pl b/challenge-308/perlboy1967/perl/ch2.pl deleted file mode 100755 index 11b87c4cc7..0000000000 --- a/challenge-308/perlboy1967/perl/ch2.pl +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/perl - -=pod - -The Weekly Challenge - 303 -L - -Author: Niels 'PerlBoy' van Dijke - -Task 2: Decode XOR -Submitted by: Mohammad Sajid Anwar - -You are given an encoded array and an initial integer. - -Write a script to find the original array that produced the given encoded -array. It was encoded such that encoded[i] = orig[i] XOR orig[i + 1]. - -=cut - -use v5.32; -use common::sense; -use feature qw(signatures); - -use Test2::V0 qw(-no_srand); - -no warnings qw(experimental::signatures); - -sub decodeXOR ($initial,@encoded) { - my @l = ($initial); - push(@l,$l[-1] ^ $_) for (@encoded); - return @l; -} - -is([decodeXOR(1,1,2,3)],[1,0,2,1],'Example 1'); -is([decodeXOR(4,6,2,7,3)],[4,2,0,7,4],'Example 2'); - -done_testing; diff --git a/challenge-308/ulrich-rieke/cpp/ch-1.cpp b/challenge-308/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..409cea5b7c --- /dev/null +++ b/challenge-308/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,39 @@ +#include +#include +#include +#include +#include + +std::vector split( const std::string & text , char delimiter ) { + std::vector tokens ; + std::istringstream istr { text } ; + std::string word ; + while ( std::getline( istr , word , delimiter ) ) { + tokens.push_back( word ) ; + } + return tokens ; +} + +int main( ) { + std::cout << "Enter some words separated by whitespace!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + auto firstTokens { split( line , ' ' ) } ; + std::string secondline ; + std::cout << "Enter some more words separated by whitespace!\n" ; + std::getline( std::cin , secondline ) ; + auto secondTokens { split( secondline , ' ' ) } ; + std::map firstFrequency , secondFrequency ; + int common = 0 ; + for ( auto s : firstTokens ) + firstFrequency[s]++ ; + for ( auto s : secondTokens ) + secondFrequency[s]++ ; + for ( auto aPair : firstFrequency ) { + if ( secondFrequency.find( aPair.first ) != secondFrequency.end( ) ) { + common++ ; + } + } + std::cout << common << '\n' ; + return 0 ; +} diff --git a/challenge-308/ulrich-rieke/cpp/ch-2.cpp b/challenge-308/ulrich-rieke/cpp/ch-2.cpp new file mode 100755 index 0000000000..8a80cf6fc5 --- /dev/null +++ b/challenge-308/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,42 @@ +#include +#include +#include +#include + +std::vector split( const std::string & text , char delimiter ) { + std::vector tokens ; + std::istringstream istr { text } ; + std::string word ; + while ( std::getline( istr , word , delimiter ) ) { + tokens.push_back( word ) ; + } + return tokens ; +} + +int main( ) { + std::cout << "Enter some numbers separated by whitespace!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + auto tokens { split( line , ' ' ) } ; + std::vector encoded ; + for ( auto s : tokens ) + encoded.push_back( std::stoi( s ) ) ; + std::cout << "Enter an initial integer!\n" ; + int initial ; + std::cin >> initial ; + std::vector decoded ; + decoded.push_back( initial ) ; + //to find x in a xor x = b you can do a xor b since xor is its own + //inverse function! + for ( auto it = encoded.begin( ) ; it != encoded.end( ) ; ++it ) { + int last = decoded[decoded.size( ) - 1] ; + decoded.push_back( last ^ *it ) ; + } + std::cout << "( " ; + for ( int i : decoded ) { + std::cout << i << ' ' ; + } + std::cout << ")\n" ; + return 0 ; +} + diff --git a/challenge-308/ulrich-rieke/haskell/ch-1.hs b/challenge-308/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..fa5117eb64 --- /dev/null +++ b/challenge-308/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,16 @@ +module Challenge308 + where +import qualified Data.Set as S + +solution :: [String] -> [String] -> Int +solution firstWords secondWords = S.size $ S.intersection ( S.fromList + firstWords ) ( S.fromList secondWords ) + +main :: IO ( ) +main = do + putStrLn "Enter some words separated by whitespace!" + firstLine <- getLine + putStrLn "Enter some more words separated by whitespace!" + secondLine <- getLine + print $ solution ( words firstLine ) ( words secondLine ) + diff --git a/challenge-308/ulrich-rieke/haskell/ch-2.hs b/challenge-308/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..b6400ec04b --- /dev/null +++ b/challenge-308/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,18 @@ +module Challenge308_2 + where +import Data.Bits ( xor ) + +--we take advantage of the fact that xor is its own inverse function +solution :: [Int] -> Int -> [Int] +solution encoded initial = scanl1 xor newList + where + newList = initial : encoded + +main :: IO ( ) +main = do + putStrLn "Enter some integers separated by whitespace!" + numberline <- getLine + putStrLn "Enter an initial value!" + value <- getLine + print $ solution ( map read $ words numberline ) ( read value ) + diff --git a/challenge-308/ulrich-rieke/perl/ch-1.pl b/challenge-308/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..34b80238fb --- /dev/null +++ b/challenge-308/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +say "Enter some words separated by whitespace!" ; +my $line = ; +chomp $line ; +my @firstWords = split( /\s/ , $line ) ; +say "Enter some more words separated by whitespace!" ; +$line = ; +chomp $line ; +my @secondWords = split( /\s/ , $line ) ; +my %firstHash ; +map { $firstHash{$_}++ } @firstWords ; +my %secondHash ; +map { $secondHash{$_}++ } @secondWords ; +my $common = 0 ; +for my $word ( keys %firstHash ) { + if ( exists( $secondHash{ $word } ) ) { + $common++ ; + } +} +say $common ; diff --git a/challenge-308/ulrich-rieke/perl/ch-2.pl b/challenge-308/ulrich-rieke/perl/ch-2.pl new file mode 100755 index 0000000000..7b4d400a45 --- /dev/null +++ b/challenge-308/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +say "Enter some integers separated by whitespace!" ; +my $line = ; +chomp $line ; +my @encoded = split( /\s/ , $line ) ; +say "Enter an integer!" ; +my $num = ; +chomp $num ; +#we can use xor as its own inverse function so to find x in a xor x = b +#we can do a xor b! +my @decoded = ($num) ; +for my $number ( @encoded ) { + my $last = $decoded[-1] ; +#by adding zero I enforce numberlike behaviour ; simply applying ^ as +#operator doesn't produce results reliably!!! + push(@decoded , ($last + 0) ^ ($number + 0)) ; +} +say '(' . join( ',' , @decoded ) . ')' ; diff --git a/challenge-308/ulrich-rieke/raku/ch-1.raku b/challenge-308/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..e5d7ded475 --- /dev/null +++ b/challenge-308/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,19 @@ +use v6 ; + +say "Enter some words separated by whitespace!" ; +my $line = $*IN.get ; +my @firstWords = $line.words ; +say "Enter some more words separated by whitespace!" ; +$line = $*IN.get ; +my @secondWords = $line.words ; +my %firstHash ; +@firstWords.map( {%firstHash{$_}++} ) ; +my %secondHash ; +@secondWords.map( {%secondHash{$_}++} ) ; +my $common = 0 ; +for %firstHash.keys -> $word { + if ( %secondHash{$word}:exists ) { + $common++ ; + } +} +say $common ; diff --git a/challenge-308/ulrich-rieke/raku/ch-2.raku b/challenge-308/ulrich-rieke/raku/ch-2.raku new file mode 100755 index 0000000000..07c1f81a52 --- /dev/null +++ b/challenge-308/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,17 @@ +use v6 ; + +say "Enter some integers separated by whitespace!" ; +my $line = $*IN.get ; +my @encoded = $line.words.map( {.Int} ) ; +say "Enter an integer!" ; +$line = $*IN.get ; +my $number = $line.Int ; +#if we are given a xor b = c and we are given only a and c , we can find +#b by a xor c since xor is its own inverse function! +my @decoded ; +@decoded.push( $number ) ; +for @encoded -> $num { + my $lastNum = @decoded[*-1] ; + @decoded.push( $num +^ $lastNum ) ; +} +say '(' ~ @decoded.join( ',' ) ~ ')' ; diff --git a/challenge-308/ulrich-rieke/rust/ch-1.rs b/challenge-308/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..83f6265f11 --- /dev/null +++ b/challenge-308/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,21 @@ +use std::io ; + +fn main() { + println!("Enter some strings separated by whitespace!"); + let mut firstline : String = String::new( ) ; + io::stdin( ).read_line( &mut firstline ).unwrap( ) ; + println!("Enter some more strings separated by whitespace!" ) ; + let mut secondline : String = String::new( ) ; + io::stdin( ).read_line( &mut secondline ).unwrap( ) ; + let firstwords : Vec<&str> = firstline.trim( ).split_whitespace( ). + collect( ) ; + let secondwords : Vec<&str> = secondline.trim( ).split_whitespace( ). + collect( ) ; + let mut common : usize = 0 ; + for w in firstwords { + if secondwords.contains( &w ) { + common += 1 ; + } + } + println!("{}" , common) ; +} diff --git a/challenge-308/ulrich-rieke/rust/ch-2.rs b/challenge-308/ulrich-rieke/rust/ch-2.rs new file mode 100755 index 0000000000..d603360e06 --- /dev/null +++ b/challenge-308/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,24 @@ +use std::io ; + +fn main() { + println!("Enter some integers separated by whitespace!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + println!("Enter an initial integer!") ; + let mut numline : String = String::new( ) ; + io::stdin( ).read_line( &mut numline ).unwrap( ) ; + let encoded : Vec = inline.trim( ).split_whitespace( ).map( |s| + s.parse::( ).unwrap( ) ).collect( ) ; + let ini_value : u16 = numline.trim( ).parse::( ).unwrap( ) ; + let mut decoded : Vec = Vec::new( ) ; + //the basic idea behind the solution is that xor serves as its own + //inverse function! so if we know a xor b = c and we are given a and c + // b is a xor c! We are given an initial value and so can construct the + //other values + decoded.push( ini_value ) ; + for i in encoded { + let last : u16 = decoded[ decoded.len( ) - 1] ; + decoded.push( i ^ last ) ; + } + println!("{:?}" , decoded ) ; +} diff --git a/stats/pwc-challenge-307.json b/stats/pwc-challenge-307.json new file mode 100644 index 0000000000..194489719e --- /dev/null +++ b/stats/pwc-challenge-307.json @@ -0,0 +1,479 @@ +{ + "subtitle" : { + "text" : "[Champions: 25] Last updated at 2025-02-10 20:38:56 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "title" : { + "text" : "The Weekly Challenge - 307" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "name" : "Ali Moradi", + "y" : 3, + "drilldown" : "Ali Moradi" + }, + { + "drilldown" : "Andreas Mahnke", + "name" : "Andreas Mahnke", + "y" : 2 + }, + { + "drilldown" : "Arne Sommer", + "y" : 3, + "name" : "Arne Sommer" + }, + { + "y" : 4, + "name" : "Athanasius", + "drilldown" : "Athanasius" + }, + { + "name" : "BarrOff", + "y" : 2, + "drilldown" : "BarrOff" + }, + { + "drilldown" : "Bob Lied", + "name" : "Bob Lied", + "y" : 2 + }, + { + "name" : "Dave Jacoby", + "y" : 2, + "drilldown" : "Dave Jacoby" + }, + { + "y" : 2, + "name" : "David Ferrone", + "drilldown" : "David Ferrone" + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "name" : "Jaldhar H. Vyas", + "y" : 5, + "drilldown" : "Jaldhar H. Vyas" + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 2 + }, + { + "y" : 3, + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey" + }, + { + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "y" : 2 + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "y" : 3, + "name" : "Matthias Muth", + "drilldown" : "Matthias Muth" + }, + { + "drilldown" : "Peter Campbell Smith", + "y" : 3, + "name" : "Peter Campbell Smith" + }, + { + "drilldown" : "Peter Meszaros", + "y" : 2, + "name" : "Peter Meszaros" + }, + { + "y" : 2, + "name" : "Robert Ransbottom", + "drilldown" : "Robert Ransbottom" + }, + { + "name" : "Roger Bell_West", + "y" : 5, + "drilldown" : "Roger Bell_West" + }, + { + "name" : "Simon Green", + "y" : 3, + "drilldown" : "Simon Green" + }, + { + "name" : "Steven Wilson", + "y" : 2, + "drilldown" : "Steven Wilson" + }, + { + "name" : "Thomas Kohler", + "y" : 4, + "drilldown" : "Thomas Kohler" + }, + { + "y" : 4, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan", + "y" : 3 + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 2 + } + ], + "name" : "The Weekly Challenge - 307" + } + ], + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : 0 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "drilldown" : { + "series" : [ + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Ali Moradi", + "id" : "Ali Moradi" + }, + { + "name" : "Andreas Mahnke", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Andreas Mahnke" + }, + { + "name" : "Arne Sommer", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Arne Sommer" + }, + { + "id" : "Athanasius", + "name" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "name" : "BarrOff", + "id" : "BarrOff" + }, + { + "name" : "Bob Lied", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Bob Lied" + }, + { + "id" : "Dave Jacoby", + "name" : "Dave Jacoby", + "data" : [ + [ + "Perl", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "David Ferrone", + "id" : "David Ferrone" + }, + { + "id" : "E. Choroba", + "name" : "E. Choroba", + "data" : [ + [ + "Perl", + 2 + ] + ] + }, + { + "name" : "Jaldhar H. Vyas", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Jaldhar H. Vyas" + }, + { + "name" : "Jan Krnavek", + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Jan Krnavek" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey" + }, + { + "name" : "Lubos Kolouch", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Lubos Kolouch" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "name" : "Mark Anderson", + "id" : "Mark Anderson" + }, + { + "id" : "Matthias Muth", + "name" : "Matthias Muth", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Peter Campbell Smith", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Peter Campbell Smith" + }, + { + "name" : "Peter Meszaros", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Peter Meszaros" + }, + { + "name" : "Robert Ransbottom", + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Robert Ransbottom" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" + }, + { + "name" : "Simon Green", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Simon Green" + }, + { + "id" : "Steven Wilson", + "name" : "Steven Wilson", + "data" : [ + [ + "Perl", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "name" : "Thomas Kohler", + "id" : "Thomas Kohler" + }, + { + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Ulrich Rieke" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Wanderdoc", + "id" : "Wanderdoc" + } + ] + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index adeeb5378f..507dafef7e 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,32 +1,27 @@ { - "xAxis" : { - "type" : "category" - }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "title" : { - "text" : "The Weekly Challenge - 307" - }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "The Weekly Challenge - 308" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "subtitle" : { + "text" : "[Champions: 9] Last updated at 2025-02-10 20:39:26 GMT" + }, "drilldown" : { "series" : [ { + "name" : "Ali Moradi", "id" : "Ali Moradi", "data" : [ [ @@ -37,66 +32,7 @@ "Blog", 1 ] - ], - "name" : "Ali Moradi" - }, - { - "name" : "Andreas Mahnke", - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Andreas Mahnke" - }, - { - "id" : "Arne Sommer", - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Arne Sommer" - }, - { - "name" : "Athanasius", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "id" : "Athanasius" - }, - { - "name" : "Bob Lied", - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Bob Lied" - }, - { - "id" : "Dave Jacoby", - "data" : [ - [ - "Perl", - 2 - ] - ], - "name" : "Dave Jacoby" + ] }, { "data" : [ @@ -109,184 +45,62 @@ "name" : "David Ferrone" }, { - "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba" + "name" : "E. Choroba", + "id" : "E. Choroba" }, { - "id" : "Jaldhar H. Vyas", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Jaldhar H. Vyas" - }, - { - "name" : "Jan Krnavek", + "id" : "Mark Anderson", + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "id" : "Jan Krnavek" - }, - { - "name" : "Jorg Sommrey", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Jorg Sommrey" - }, - { - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch", - "data" : [ - [ - "Perl", - 2 - ] ] }, { - "data" : [ - [ - "Raku", - 2 - ] - ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" - }, - { - "name" : "Matthias Muth", "data" : [ [ "Perl", 2 - ], - [ - "Blog", - 1 ] ], - "id" : "Matthias Muth" + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { - "name" : "Peter Campbell Smith", "data" : [ [ "Perl", 2 - ], - [ - "Blog", - 1 ] ], - "id" : "Peter Campbell Smith" + "id" : "Peter Meszaros", + "name" : "Peter Meszaros" }, { - "name" : "Peter Meszaros", - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Peter Meszaros" - }, - { - "data" : [ - [ - "Raku", - 2 - ] - ], - "id" : "Robert Ransbottom", - "name" : "Robert Ransbottom" - }, - { - "id" : "Roger Bell_West", "data" : [ [ "Perl", 2 ], - [ - "Raku", - 2 - ], [ "Blog", - 1 - ] - ], - "name" : "Roger Bell_West" - }, - { - "data" : [ - [ - "Perl", 2 - ], - [ - "Blog", - 1 ] ], - "id" : "Simon Green", - "name" : "Simon Green" - }, - { - "name" : "Steven Wilson", - "id" : "Steven Wilson", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "name" : "Thomas Kohler", "id" : "Thomas Kohler", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 2 - ] - ] + "name" : "Thomas Kohler" }, { - "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -309,154 +123,75 @@ 1 ] ], - "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Wanderdoc", - "name" : "Wanderdoc" + "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan" } ] }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, "series" : [ { - "colorByPoint" : 1, "data" : [ { - "name" : "Ali Moradi", "y" : 3, + "name" : "Ali Moradi", "drilldown" : "Ali Moradi" }, { - "name" : "Andreas Mahnke", - "drilldown" : "Andreas Mahnke", - "y" : 2 - }, - { - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer", - "y" : 3 - }, - { - "name" : "Athanasius", - "drilldown" : "Athanasius", - "y" : 4 - }, - { - "drilldown" : "Bob Lied", - "y" : 2, - "name" : "Bob Lied" - }, - { - "name" : "Dave Jacoby", - "y" : 2, - "drilldown" : "Dave Jacoby" - }, - { - "name" : "David Ferrone", "drilldown" : "David Ferrone", + "name" : "David Ferrone", "y" : 2 }, { "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "name" : "Jaldhar H. Vyas", - "y" : 5, - "drilldown" : "Jaldhar H. Vyas" - }, - { - "name" : "Jan Krnavek", - "drilldown" : "Jan Krnavek", - "y" : 2 - }, - { - "name" : "Jorg Sommrey", - "y" : 3, - "drilldown" : "Jorg Sommrey" - }, - { - "name" : "Lubos Kolouch", - "drilldown" : "Lubos Kolouch", + "name" : "E. Choroba", "y" : 2 }, { - "name" : "Mark Anderson", "y" : 2, - "drilldown" : "Mark Anderson" + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "drilldown" : "Matthias Muth", - "y" : 3, - "name" : "Matthias Muth" - }, - { - "y" : 3, - "drilldown" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith" + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke", + "y" : 2 }, { + "name" : "Peter Meszaros", "drilldown" : "Peter Meszaros", - "y" : 2, - "name" : "Peter Meszaros" - }, - { - "y" : 2, - "drilldown" : "Robert Ransbottom", - "name" : "Robert Ransbottom" - }, - { - "name" : "Roger Bell_West", - "y" : 5, - "drilldown" : "Roger Bell_West" - }, - { - "y" : 3, - "drilldown" : "Simon Green", - "name" : "Simon Green" - }, - { - "name" : "Steven Wilson", - "y" : 2, - "drilldown" : "Steven Wilson" + "y" : 2 }, { "y" : 4, - "drilldown" : "Thomas Kohler", - "name" : "Thomas Kohler" + "name" : "Thomas Kohler", + "drilldown" : "Thomas Kohler" }, { "drilldown" : "Ulrich Rieke", - "y" : 4, - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "y" : 4 }, { - "y" : 3, + "name" : "W. Luis Mochan", "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" - }, - { - "drilldown" : "Wanderdoc", - "y" : 2, - "name" : "Wanderdoc" + "y" : 3 } ], - "name" : "The Weekly Challenge - 307" + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 308" } ], - "subtitle" : { - "text" : "[Champions: 24] Last updated at 2025-02-10 02:41:45 GMT" - }, - "chart" : { - "type" : "column" + "xAxis" : { + "type" : "category" }, "legend" : { "enabled" : 0 diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 0266f421c0..77d75dbbb8 100644 --- a/stats/pwc-language-breakdown-2019.json +++ b/stats/pwc-language-breakdown-2019.json @@ -1,51 +1,46 @@ { "tooltip" : { + "pointFormat" : "Challenge {point.name}: {point.y:f}
", "followPointer" : "true", - "headerFormat" : "", - "pointFormat" : "Challenge {point.name}: {point.y:f}
" + "headerFormat" : "" }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } + "title" : { + "text" : "The Weekly Challenge Language" }, - "xAxis" : { - "type" : "category" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-02-10 20:39:26 GMT" + }, + "chart" : { + "type" : "column" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "title" : { - "text" : "The Weekly Challenge Language" - }, "series" : [ { "colorByPoint" : "true", + "name" : "The Weekly Challenge Languages", "data" : [ { - "y" : 80, "drilldown" : "041", - "name" : "041" + "name" : "041", + "y" : 80 }, { - "name" : "040", + "y" : 77, "drilldown" : "040", - "y" : 77 + "name" : "040" }, { - "name" : "039", "drilldown" : "039", + "name" : "039", "y" : 68 }, { - "name" : "038", "drilldown" : "038", + "name" : "038", "y" : 74 }, { @@ -54,19 +49,19 @@ "y" : 70 }, { - "name" : "036", "drilldown" : "036", + "name" : "036", "y" : 70 }, { - "name" : "035", + "y" : 68, "drilldown" : "035", - "y" : 68 + "name" : "035" }, { "drilldown" : "034", - "y" : 70, - "name" : "034" + "name" : "034", + "y" : 70 }, { "name" : "033", @@ -74,54 +69,54 @@ "y" : 113 }, { - "y" : 97, + "name" : "032", "drilldown" : "032", - "name" : "032" + "y" : 97 }, { - "y" : 93, + "name" : "031", "drilldown" : "031", - "name" : "031" + "y" : 93 }, { - "y" : 120, + "name" : "030", "drilldown" : "030", - "name" : "030" + "y" : 120 }, { - "name" : "029", "y" : 83, + "name" : "029", "drilldown" : "029" }, { "y" : 82, - "drilldown" : "028", - "name" : "028" + "name" : "028", + "drilldown" : "028" }, { + "y" : 64, "name" : "027", - "drilldown" : "027", - "y" : 64 + "drilldown" : "027" }, { - "name" : "026", + "y" : 75, "drilldown" : "026", - "y" : 75 + "name" : "026" }, { - "name" : "025", "drilldown" : "025", + "name" : "025", "y" : 62 }, { - "name" : "024", "y" : 77, + "name" : "024", "drilldown" : "024" }, { - "name" : "023", + "y" : 88, "drilldown" : "023", - "y" : 88 + "name" : "023" }, { "name" : "022", @@ -129,48 +124,48 @@ "y" : 72 }, { + "drilldown" : "021", "name" : "021", - "y" : 72, - "drilldown" : "021" + "y" : 72 }, { - "name" : "020", "y" : 100, + "name" : "020", "drilldown" : "020" }, { - "y" : 101, + "name" : "019", "drilldown" : "019", - "name" : "019" + "y" : 101 }, { "name" : "018", - "y" : 82, - "drilldown" : "018" + "drilldown" : "018", + "y" : 82 }, { - "name" : "017", + "y" : 83, "drilldown" : "017", - "y" : 83 + "name" : "017" }, { - "name" : "016", + "y" : 75, "drilldown" : "016", - "y" : 75 + "name" : "016" }, { + "y" : 95, "name" : "015", - "drilldown" : "015", - "y" : 95 + "drilldown" : "015" }, { - "name" : "014", + "y" : 98, "drilldown" : "014", - "y" : 98 + "name" : "014" }, { - "name" : "013", "y" : 85, + "name" : "013", "drilldown" : "013" }, { @@ -179,24 +174,24 @@ "y" : 90 }, { + "drilldown" : "011", "name" : "011", - "y" : 86, - "drilldown" : "011" + "y" : 86 }, { "name" : "010", - "y" : 69, - "drilldown" : "010" + "drilldown" : "010", + "y" : 69 }, { "y" : 79, - "drilldown" : "009", - "name" : "009" + "name" : "009", + "drilldown" : "009" }, { - "y" : 82, + "name" : "008", "drilldown" : "008", - "name" : "008" + "y" : 82 }, { "y" : 71, @@ -204,39 +199,44 @@ "name" : "007" }, { - "name" : "006", "y" : 63, + "name" : "006", "drilldown" : "006" }, { "name" : "005", - "y" : 82, - "drilldown" : "005" + "drilldown" : "005", + "y" : 82 }, { - "name" : "004", + "y" : 106, "drilldown" : "004", - "y" : 106 + "name" : "004" }, { - "drilldown" : "003", "y" : 91, - "name" : "003" + "name" : "003", + "drilldown" : "003" }, { - "drilldown" : "002", "y" : 133, - "name" : "002" + "name" : "002", + "drilldown" : "002" }, { - "y" : 165, + "name" : "001", "drilldown" : "001", - "name" : "001" + "y" : 165 } - ], - "name" : "The Weekly Challenge Languages" + ] } ], + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : "false" + }, "drilldown" : { "series" : [ { @@ -254,11 +254,12 @@ 9 ] ], - "id" : "041", - "name" : "041" + "name" : "041", + "id" : "041" }, { "id" : "040", + "name" : "040", "data" : [ [ "Perl", @@ -272,11 +273,11 @@ "Blog", 10 ] - ], - "name" : "040" + ] }, { "name" : "039", + "id" : "039", "data" : [ [ "Perl", @@ -290,11 +291,9 @@ "Blog", 12 ] - ], - "id" : "039" + ] }, { - "name" : "038", "data" : [ [ "Perl", @@ -309,11 +308,10 @@ 12 ] ], + "name" : "038", "id" : "038" }, { - "name" : "037", - "id" : "037", "data" : [ [ "Perl", @@ -327,11 +325,11 @@ "Blog", 9 ] - ] + ], + "id" : "037", + "name" : "037" }, { - "name" : "036", - "id" : "036", "data" : [ [ "Perl", @@ -345,10 +343,11 @@ "Blog", 11 ] - ] + ], + "name" : "036", + "id" : "036" }, { - "name" : "035", "data" : [ [ "Perl", @@ -363,10 +362,10 @@ 9 ] ], - "id" : "035" + "id" : "035", + "name" : "035" }, { - "name" : "034", "data" : [ [ "Perl", @@ -381,10 +380,10 @@ 11 ] ], + "name" : "034", "id" : "034" }, { - "id" : "033", "data" : [ [ "Perl", @@ -399,10 +398,10 @@ 10 ] ], - "name" : "033" + "name" : "033", + "id" : "033" }, { - "id" : "032", "data" : [ [ "Perl", @@ -417,9 +416,11 @@ 10 ] ], - "name" : "032" + "name" : "032", + "id" : "032" }, { + "id" : "031", "name" : "031", "data" : [ [ @@ -434,11 +435,9 @@ "Blog", 9 ] - ], - "id" : "031" + ] }, { - "id" : "030", "data" : [ [ "Perl", @@ -453,9 +452,11 @@ 10 ] ], + "id" : "030", "name" : "030" }, { + "name" : "029", "id" : "029", "data" : [ [ @@ -470,8 +471,7 @@ "Blog", 12 ] - ], - "name" : "029" + ] }, { "data" : [ @@ -488,10 +488,12 @@ 9 ] ], - "id" : "028", - "name" : "028" + "name" : "028", + "id" : "028" }, { + "name" : "027", + "id" : "027", "data" : [ [ "Perl", @@ -505,9 +507,7 @@ "Blog", 9 ] - ], - "id" : "027", - "name" : "027" + ] }, { "name" : "026", @@ -546,6 +546,8 @@ "name" : "025" }, { + "id" : "024", + "name" : "024", "data" : [ [ "Perl", @@ -559,12 +561,9 @@ "Blog", 11 ] - ], - "id" : "024", - "name" : "024" + ] }, { - "id" : "023", "data" : [ [ "Perl", @@ -579,10 +578,12 @@ 12 ] ], + "id" : "023", "name" : "023" }, { "name" : "022", + "id" : "022", "data" : [ [ "Perl", @@ -596,11 +597,9 @@ "Blog", 10 ] - ], - "id" : "022" + ] }, { - "name" : "021", "data" : [ [ "Perl", @@ -615,7 +614,8 @@ 10 ] ], - "id" : "021" + "id" : "021", + "name" : "021" }, { "data" : [ @@ -636,8 +636,8 @@ "name" : "020" }, { - "name" : "019", "id" : "019", + "name" : "019", "data" : [ [ "Perl", @@ -654,7 +654,6 @@ ] }, { - "name" : "018", "data" : [ [ "Perl", @@ -669,9 +668,11 @@ 14 ] ], + "name" : "018", "id" : "018" }, { + "id" : "017", "name" : "017", "data" : [ [ @@ -686,12 +687,11 @@ "Blog", 12 ] - ], - "id" : "017" + ] }, { - "name" : "016", "id" : "016", + "name" : "016", "data" : [ [ "Perl", @@ -726,7 +726,6 @@ "name" : "015" }, { - "name" : "014", "data" : [ [ "Perl", @@ -741,9 +740,12 @@ 15 ] ], + "name" : "014", "id" : "014" }, { + "name" : "013", + "id" : "013", "data" : [ [ "Perl", @@ -757,9 +759,7 @@ "Blog", 13 ] - ], - "id" : "013", - "name" : "013" + ] }, { "data" : [ @@ -780,7 +780,6 @@ "name" : "012" }, { - "name" : "011", "data" : [ [ "Perl", @@ -795,10 +794,10 @@ 10 ] ], + "name" : "011", "id" : "011" }, { - "name" : "010", "data" : [ [ "Perl", @@ -813,10 +812,10 @@ 11 ] ], + "name" : "010", "id" : "010" }, { - "id" : "009", "data" : [ [ "Perl", @@ -831,7 +830,8 @@ 13 ] ], - "name" : "009" + "name" : "009", + "id" : "009" }, { "data" : [ @@ -852,6 +852,7 @@ "name" : "008" }, { + "id" : "007", "name" : "007", "data" : [ [ @@ -866,11 +867,9 @@ "Blog", 10 ] - ], - "id" : "007" + ] }, { - "name" : "006", "data" : [ [ "Perl", @@ -885,9 +884,12 @@ 7 ] ], + "name" : "006", "id" : "006" }, { + "name" : "005", + "id" : "005", "data" : [ [ "Perl", @@ -901,12 +903,9 @@ "Blog", 12 ] - ], - "id" : "005", - "name" : "005" + ] }, { - "name" : "004", "data" : [ [ "Perl", @@ -921,7 +920,8 @@ 10 ] ], - "id" : "004" + "id" : "004", + "name" : "004" }, { "name" : "003", @@ -942,7 +942,6 @@ ] }, { - "name" : "002", "data" : [ [ "Perl", @@ -957,10 +956,10 @@ 10 ] ], - "id" : "002" + "id" : "002", + "name" : "002" }, { - "name" : "001", "data" : [ [ "Perl", @@ -975,17 +974,18 @@ 12 ] ], - "id" : "001" + "id" : "001", + "name" : "001" } ] }, - "legend" : { - "enabled" : "false" - }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-02-10 02:41:45 GMT" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } } } diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json index f6072f0fff..50ec97b7a2 100644 --- a/stats/pwc-language-breakdown-2020.json +++ b/stats/pwc-language-breakdown-2020.json @@ -1,33 +1,35 @@ { - "xAxis" : { - "type" : "category" + "chart" : { + "type" : "column" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, - "tooltip" : { - "headerFormat" : "", - "followPointer" : "true", - "pointFormat" : "Challenge {point.name}: {point.y:f}
" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-02-10 20:39:26 GMT" }, "title" : { "text" : "The Weekly Challenge Language" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "tooltip" : { + "followPointer" : "true", + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "headerFormat" : "" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 } }, "drilldown" : { "series" : [ { - "name" : "093", "data" : [ [ "Perl", @@ -42,10 +44,10 @@ 16 ] ], - "id" : "093" + "id" : "093", + "name" : "093" }, { - "name" : "092", "data" : [ [ "Perl", @@ -60,9 +62,12 @@ 16 ] ], + "name" : "092", "id" : "092" }, { + "id" : "091", + "name" : "091", "data" : [ [ "Perl", @@ -76,12 +81,9 @@ "Blog", 16 ] - ], - "id" : "091", -