From 4e5406f39834b68dbeb125f3ecd16c10f5b77271 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Thu, 17 Feb 2022 20:50:27 +0000 Subject: - Added solutions by Ulrich Rieke. --- challenge-152/ulrich-rieke/cpp/ch-1.cpp | 37 + challenge-152/ulrich-rieke/cpp/ch-2.cpp | 52 + challenge-152/ulrich-rieke/haskell/ch-1.hs | 11 + challenge-152/ulrich-rieke/haskell/ch-2.hs | 40 + challenge-152/ulrich-rieke/perl/ch-1.pl | 34 + challenge-152/ulrich-rieke/perl/ch-2.pl | 68 + challenge-152/ulrich-rieke/raku/ch-1.raku | 27 + challenge-152/ulrich-rieke/raku/ch-2.raku | 36 + stats/pwc-current.json | 157 +- stats/pwc-language-breakdown-summary.json | 68 +- stats/pwc-language-breakdown.json | 5938 ++++++++++++++-------------- stats/pwc-leaders.json | 352 +- stats/pwc-summary-1-30.json | 26 +- stats/pwc-summary-121-150.json | 50 +- stats/pwc-summary-151-180.json | 106 +- stats/pwc-summary-181-210.json | 40 +- stats/pwc-summary-211-240.json | 38 +- stats/pwc-summary-241-270.json | 56 +- stats/pwc-summary-31-60.json | 104 +- stats/pwc-summary-61-90.json | 122 +- stats/pwc-summary-91-120.json | 102 +- stats/pwc-summary.json | 60 +- 22 files changed, 3924 insertions(+), 3600 deletions(-) create mode 100644 challenge-152/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-152/ulrich-rieke/cpp/ch-2.cpp create mode 100644 challenge-152/ulrich-rieke/haskell/ch-1.hs create mode 100644 challenge-152/ulrich-rieke/haskell/ch-2.hs create mode 100644 challenge-152/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-152/ulrich-rieke/perl/ch-2.pl create mode 100644 challenge-152/ulrich-rieke/raku/ch-1.raku create mode 100644 challenge-152/ulrich-rieke/raku/ch-2.raku diff --git a/challenge-152/ulrich-rieke/cpp/ch-1.cpp b/challenge-152/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..882325fb71 --- /dev/null +++ b/challenge-152/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,37 @@ +#include +#include +#include + +int main( ) { + std::vector> triangle ; + std::vector row ; + int rows = 0 ; + std::cout << "How many rows do you want to enter?" ; + std::cin >> rows ; + int number = 0 ; + int howmany = 1 ; + for ( int i = 0 ; i < rows; i++ ) { + std::cout << howmany << " numbers for row " << (i + 1) << '\n' ; + if ( howmany == 1 ) { + std::cin >> number ; + row.push_back( number ) ; + triangle.push_back( row ) ; + row.clear( ) ; + } + else { + for ( int j = 0 ; j < howmany ; j++ ) { + std::cin >> number ; + row.push_back( number ) ; + } + triangle.push_back( row ) ; + row.clear( ) ; + } + howmany++ ; + } + int pathsum = 0 ; + for ( auto & aRow : triangle ) + pathsum += *(std::min_element( aRow.begin( ) , aRow.end( ))) ; + std::cout << std::endl ; + std::cout << pathsum << std::endl ; + return 0 ; +} diff --git a/challenge-152/ulrich-rieke/cpp/ch-2.cpp b/challenge-152/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..da19048dda --- /dev/null +++ b/challenge-152/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include + +int main( ) { + std::cout << "Please enter four integers denoting the lower left and upper right point" ; + std::cout << "\nof the first rectangle!\n" ; + int num = 0 ; + std::vector rectangle1 ; + for ( int i = 0 ; i < 4 ; i++ ) { + std::cin >> num ; + rectangle1.push_back( num ) ; + } + std::vector rectangle2 ; + std::cout << "and now enter four integers for the second rectangle!\n" ; + num = 0 ; + for ( int i = 0 ; i < 4 ; i++ ) { + std::cin >> num ; + rectangle2.push_back( num ) ; + } + int firstArea = (*(rectangle1.begin( ) + 2) - *(rectangle1.begin( ))) * + (*(rectangle1.begin( ) + 3) - *(rectangle1.begin( ) + 1 )) ; + int secondArea = (*(rectangle2.begin( ) + 2) - *(rectangle2.begin( ))) * + (*(rectangle2.begin( ) + 3) - *(rectangle2.begin( ) + 1 )) ; + std::vector first_xes ; + std::vector second_xes ; + std::vector first_ys ; + std::vector second_ys ; + for ( int i = rectangle1[0] ; i < rectangle1[2] + 1 ; i++ ) + first_xes.push_back( i ) ; + for ( int i = rectangle1[1] ; i < rectangle1[3] + 1 ; i++ ) + first_ys.push_back( i ) ; + for ( int i = rectangle2[0] ; i < rectangle2[2] + 1 ; i++ ) + second_xes.push_back( i ) ; + for ( int i = rectangle2[1] ; i < rectangle2[3] + 1 ; i++ ) + second_ys.push_back( i ) ; + std::vector commonX ; + std::set_intersection( first_xes.begin( ) , first_xes.end( ) , second_xes.begin( ) , + second_xes.end( ) , std::inserter( commonX ,commonX.begin( ))) ; + std::vector commonY ; + std::set_intersection( first_ys.begin( ) , first_ys.end( ) , second_ys.begin( ) , + second_ys.end( ) , std::inserter( commonY , commonY.begin( ))) ; + int commonArea = (*std::max_element( commonX.begin( ) , commonX.end( )) - + *std::min_element( commonX.begin( ) , commonX.end( ) ) ) * + (*std::max_element( commonY.begin( ) , commonY.end( ) ) - + *std::min_element( commonY.begin( ) , commonY.end( )) ) ; + std::cout << std::endl ; + std::cout << (firstArea + secondArea - commonArea) << std::endl ; + return 0 ; +} diff --git a/challenge-152/ulrich-rieke/haskell/ch-1.hs b/challenge-152/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..09d4cfa572 --- /dev/null +++ b/challenge-152/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,11 @@ +module Challenge152 + where +import Data.List.Split( divvy ) + +valid :: [[Int]] -> Bool +valid input = all(\l -> abs( (length $ head l) - (length $ last l)) == 1 ) +$ divvy 2 1 input + +solution :: [[Int]] -> Int +solution list = if not $ valid list then error "One more number per row" else +sum $ map minimum list diff --git a/challenge-152/ulrich-rieke/haskell/ch-2.hs b/challenge-152/ulrich-rieke/haskell/ch-2.hs new file mode 100644 index 0000000000..c44e4bbb7b --- /dev/null +++ b/challenge-152/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,40 @@ +module Challenge152_2 + where +import qualified Data.Set as S +import Data.List.Split( splitOn ) +import Data.List ( (!!) ) + +computeArea :: (Int , Int) -> (Int , Int) -> Int +computeArea lowerLeft upperRight = ( fst upperRight - fst lowerLeft ) * +( snd upperRight - snd lowerLeft ) + +solution :: (Int , Int) -> (Int , Int) -> (Int , Int) -> (Int , Int) -> Int +solution firstLowerLeft firstUpperRight secondLowerLeft secondUpperRight = +computeArea firstLowerLeft firstUpperRight + computeArea secondLowerLeft +secondUpperRight - commonArea +where + commonX :: [Int] + commonX = S.toList $ S.fromList (enumFromTo (fst firstLowerLeft) + (fst firstUpperRight)) `S.intersection` S.fromList ( enumFromTo + (fst secondLowerLeft) (fst secondUpperRight) ) + commonY :: [Int] + commonY = S.toList $ S.fromList (enumFromTo (snd firstLowerLeft) + (snd firstUpperRight)) `S.intersection` S.fromList ( enumFromTo + (snd secondLowerLeft) (snd secondUpperRight) ) + commonArea :: Int + commonArea = ( maximum commonX - minimum commonX ) * ( maximum commonY - + minimum commonY ) + +main :: IO ( ) +main = do + putStrLn "Please enter lower left and upper right point of first rectangle!" + putStrLn "Enter integers separated by spaces!" + rect1 <- getLine + putStrLn "Please enter lower left and upper right point of second rectangle!" + putStrLn "Enter integers separated by spaces!" + rect2 <- getLine + let rect1Nums = fmap read $ splitOn " " rect1 + rect2Nums = fmap read $ splitOn " " rect2 + putStrLn $ show $ solution ( rect1Nums !! 0 , rect1Nums !! 1 ) ( rect1Nums !! 2 , + rect1Nums !! 3 ) ( rect2Nums !! 0 , rect2Nums !! 1 ) ( rect2Nums !! 2 , + rect2Nums !! 3 ) diff --git a/challenge-152/ulrich-rieke/perl/ch-1.pl b/challenge-152/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..cf1aeb3976 --- /dev/null +++ b/challenge-152/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw( min ) ; + +say "Enter integers separated by spaces! Enter e to end data entry!" ; +say "line by line, enter one more number than in the previous line!" ; +my $lastLen = 0 ; +my $len ; +my $pathSum = 0 ; +my $line = ; +chomp $line ; +while ( $line ne "e" ) { + while ( $line !~ /^(\d\s*)+$/ ) { + say "Enter only integers separated by spaces, one more per line!" ; + $line = ; + chomp $line ; + } + unless ( $line eq "e" ) { + $len = scalar( split( /\s+/ , $line ) ) ; + while ( $len != $lastLen + 1 ) { + say "There should be one number more per line!" ; + $line = ; + chomp $line ; + $len = scalar( split( /\s+/ , $line ) ) ; + } + } + $pathSum += min( split( /\s+/ , $line )) ; + $lastLen = $len ; + $line = ; + chomp $line ; +} +say $pathSum ; diff --git a/challenge-152/ulrich-rieke/perl/ch-2.pl b/challenge-152/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..9c5589722a --- /dev/null +++ b/challenge-152/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,68 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw ( max min ) ; + +say "Enter 4 integers per rectangle to denote the lower left and upper right"; +say "corner of the rectangles! Separate numbers by spaces!" ; +say "rectangle 1 =>" ; +my $line = ; +chomp $line ; +while ( $line !~ /^([+-]*\d+\s*)+$/ ) { + say "please enter 4 numbers separated by spaces!" ; + $line = ; + chomp $line ; +} +my @firstNumbers = split( /\s+/ , $line ) ; +while ( scalar( @firstNumbers ) != 4 ) { + say "Enter 4 numbers separated by spaces!" ; + $line = ; + chomp $line ; + @firstNumbers = split( /\s+/ , $line ) ; +} +say "rectangle 2 =>" ; +$line = ; +chomp $line ; +while ( $line !~ /^([+-]*\d+\s*)+$/ ) { + say "please enter 4 numbers separated by spaces!" ; + $line = ; + chomp $line ; +} +my @secondNumbers = split( /\s+/ , $line ) ; +while ( scalar( @secondNumbers ) != 4 ) { + say "Enter 4 numbers separated by spaces!" ; + $line = ; + chomp $line ; + @secondNumbers = split( /\s+/ , $line ) ; +} +my %firstXNumbers ; +my %firstYNumbers ; +my %secondXNumbers ; +my %secondYNumbers ; +for my $i ( $firstNumbers[0] .. $firstNumbers[2] ) { + $firstXNumbers{ $i }++ ; +} +for my $i ( $firstNumbers[1] .. $firstNumbers[3] ) { + $firstYNumbers{ $i }++ ; +} +for my $i ( $secondNumbers[0] .. $secondNumbers[2] ) { + $secondXNumbers{ $i }++ ; +} +for my $i ( $secondNumbers[1] .. $secondNumbers[3] ) { + $secondYNumbers{ $i }++ ; +} +my @commonX = grep { exists( $secondXNumbers{ $_ } ) } keys %firstXNumbers ; +my @commonY = grep { exists( $secondYNumbers{ $_ } ) } keys %firstYNumbers ; +my $firstArea = ( $firstNumbers[2] - $firstNumbers[0] ) * ( $firstNumbers[3] - + $firstNumbers[1] ) ; +my $secondArea = ( $secondNumbers[2] - $secondNumbers[0] ) * ( $secondNumbers[3] - + $secondNumbers[1] ) ; +if ( @commonX && @commonY ) { + my $superPositionArea = ( max( @commonX) - min( @commonX ) ) * ( max( @commonY ) + - min( @commonY ) ) ; + say ( $firstArea + $secondArea - $superPositionArea ) ; +} +else { + say ( $firstArea + $secondArea ) ; +} diff --git a/challenge-152/ulrich-rieke/raku/ch-1.raku b/challenge-152/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..a2a4a3a6f3 --- /dev/null +++ b/challenge-152/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,27 @@ +use v6 ; + +say "Enter a triangle from top to bottom, separating numbers by spaces!" ; +say "In every line there should be one number more than in the preceding one!" ; +say "To end entry , enter letter e!" ; +my $lastLen = 0 ; +my $len ; +my $pathSum = 0 ; +my $line = $*IN.get ; +while ( $line ne "e" ) { + while ( $line !~~ /^(\d \s*)+$/ ) { + say "Enter only numbers and spaces!" ; + $line = $*IN.get ; + } + $len = $line.split( /\s+/ ).elems ; + unless ( $line eq "e" ) { + while ( $len != $lastLen + 1 ) { + say "There should be one more number than the last time!" ; + $line = $*IN.get ; + $len = $line.split( /\s+/ ).elems ; + } + } + $lastLen = $len ; + $pathSum += $line.split( /\s+/ ).map( {.Int} ).min ; + $line = $*IN.get ; +} +say $pathSum ; diff --git a/challenge-152/ulrich-rieke/raku/ch-2.raku b/challenge-152/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..adf84546bf --- /dev/null +++ b/challenge-152/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,36 @@ +use v6 ; + +say "Enter the lower left and upper right corner of first rectangle!" ; +say "Separate numbers by spaces!" ; +say "Rectangle 1 => " ; +my $line = $*IN.get ; +my @first_numbers = $line.split( /\s/ ).map( {.Int} ) ; +say "Enter the lower left and upper right corner of second rectangle!" ; +say "Separate numbers by spaces!" ; +say "Rectangle 2 => " ; +$line = $*IN.get ; +my @second_numbers = $line.split( /\s/ ).map( {.Int} ) ; +#the area covered by the two rectangles is the sum of the areas - the common +#area if there is one. To compute that we form a set of all x and y values +#of the 2 respective rectangles. if there is an intersection of the x and y +#values the common area is the product of ( biggest common x - smallest common x) +#* ( biggest common y - smallest common y) +my $firstRectXSet = (@first_numbers[0] .. @first_numbers[2]).Set ; +my $firstRectYSet = (@first_numbers[1] .. @first_numbers[3]).Set ; +my $secondRectXSet = (@second_numbers[0] .. @second_numbers[2]).Set ; +my $secondRectYSet = (@second_numbers[1] .. @second_numbers[3]).Set ; +my $commonX = $firstRectXSet (&) $secondRectXSet ; +my $firstArea = (@first_numbers[2] - @first_numbers[0]) * + (@first_numbers[3] - @first_numbers[1] ) ; +my $secondArea = (@second_numbers[2] - @second_numbers[0]) * + (@second_numbers[3] - @second_numbers[1] ) ; +if ( $commonX ) { + my $commonY = $firstRectYSet (&) $secondRectYSet ; + if ( $commonY ) { + say ( $firstArea + $secondArea - (( $commonX.max.key - $commonX.min.key ) + * ( $commonY.max.key - $commonY.min.key) )) ; + } +} +else { + say ( $firstArea + $secondArea ) ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 6095f9de4a..63d5a345c9 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,15 +1,35 @@ { + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "[Champions: 13] Last updated at 2022-02-17 20:48:49 GMT" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
", + "followPointer" : 1 + }, "drilldown" : { "series" : [ { - "name" : "Abigail", - "id" : "Abigail", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Abigail", + "id" : "Abigail" }, { "id" : "Alexander Pankoff", @@ -22,18 +42,18 @@ "name" : "Alexander Pankoff" }, { - "name" : "Colin Crain", + "id" : "Colin Crain", "data" : [ [ "Blog", 1 ] ], - "id" : "Colin Crain" + "name" : "Colin Crain" }, { - "name" : "Dave Jacoby", "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -46,16 +66,18 @@ ] }, { - "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba" + "id" : "E. Choroba" }, { + "id" : "James Smith", + "name" : "James Smith", "data" : [ [ "Perl", @@ -65,12 +87,10 @@ "Blog", 1 ] - ], - "id" : "James Smith", - "name" : "James Smith" + ] }, { - "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -81,7 +101,7 @@ 2 ] ], - "id" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { "data" : [ @@ -90,18 +110,18 @@ 2 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { - "name" : "PokGoPun", "id" : "PokGoPun", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "PokGoPun" }, { "data" : [ @@ -110,12 +130,10 @@ 2 ] ], - "id" : "Robert DiCicco", - "name" : "Robert DiCicco" + "name" : "Robert DiCicco", + "id" : "Robert DiCicco" }, { - "name" : "Roger Bell_West", - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -129,21 +147,37 @@ "Blog", 1 ] - ] + ], + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { + "name" : "Ulrich Rieke", "data" : [ [ "Perl", 2 ], [ - "Blog", - 1 + "Raku", + 2 ] ], + "id" : "Ulrich Rieke" + }, + { "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan" + "name" : "W. Luis Mochan", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ] } ] }, @@ -152,57 +186,31 @@ "text" : "Total Solutions" } }, - "tooltip" : { - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1 - }, - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "The Weekly Challenge - 152" - }, - "subtitle" : { - "text" : "[Champions: 12] Last updated at 2022-02-17 20:02:09 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, "legend" : { "enabled" : 0 }, "series" : [ { - "name" : "The Weekly Challenge - 152", + "colorByPoint" : 1, "data" : [ { - "drilldown" : "Abigail", "name" : "Abigail", + "drilldown" : "Abigail", "y" : 2 }, { - "y" : 2, + "drilldown" : "Alexander Pankoff", "name" : "Alexander Pankoff", - "drilldown" : "Alexander Pankoff" + "y" : 2 }, { - "y" : 1, + "name" : "Colin Crain", "drilldown" : "Colin Crain", - "name" : "Colin Crain" + "y" : 1 }, { - "drilldown" : "Dave Jacoby", "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", "y" : 4 }, { @@ -211,14 +219,14 @@ "y" : 2 }, { - "name" : "James Smith", + "y" : 3, "drilldown" : "James Smith", - "y" : 3 + "name" : "James Smith" }, { "y" : 4, - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { "name" : "Mark Anderson", @@ -227,8 +235,8 @@ }, { "y" : 2, - "name" : "PokGoPun", - "drilldown" : "PokGoPun" + "drilldown" : "PokGoPun", + "name" : "PokGoPun" }, { "name" : "Robert DiCicco", @@ -236,17 +244,28 @@ "y" : 2 }, { - "name" : "Roger Bell_West", "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", "y" : 5 }, { - "y" : 3, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 4 + }, + { + "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan", - "drilldown" : "W. Luis Mochan" + "y" : 3 } ], - "colorByPoint" : 1 + "name" : "The Weekly Challenge - 152" } - ] + ], + "title" : { + "text" : "The Weekly Challenge - 152" + }, + "xAxis" : { + "type" : "category" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 0e6df7fde1..ef5c78c9e2 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,4 +1,28 @@ { + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "subtitle" : { + "text" : "Last updated at 2022-02-17 20:48:49 GMT" + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, "series" : [ { "name" : "Contributions", @@ -9,55 +33,31 @@ ], [ "Perl", - 7304 + 7306 ], [ "Raku", - 4387 + 4389 ] ], "dataLabels" : { - "color" : "#FFFFFF", - "align" : "right", - "format" : "{point.y:.0f}", - "rotation" : -90, - "y" : 10, "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, - "enabled" : "true" + "enabled" : "true", + "color" : "#FFFFFF", + "rotation" : -90, + "align" : "right", + "y" : 10, + "format" : "{point.y:.0f}" } } ], - "legend" : { - "enabled" : "false" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "subtitle" : { - "text" : "Last updated at 2022-02-17 20:02:09 GMT" - }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2022]" }, - "chart" : { - "type" : "column" + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 6cefcedb27..dc9670956d 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,2787 +1,29 @@ { - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "", - "followPointer" : "true" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "drilldown" : { - "series" : [ - { - "name" : "001", - "data" : [ - [ - "Perl", - 103 - ], - [ - "Raku", - 47 - ], - [ - "Blog", - 11 - ] - ], - "id" : "001" - }, - { - "id" : "002", - "data" : [ - [ - "Perl", - 79 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 10 - ] - ], - "name" : "002" - }, - { - "name" : "003", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "id" : "003" - }, - { - "id" : "004", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "name" : "004" - }, - { - "name" : "005", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 12 - ] - ], - "id" : "005" - }, - { - "name" : "006", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 18 - ], - [ - "Blog", - 7 - ] - ], - "id" : "006" - }, - { - "name" : "007", - "id" : "007", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "008", - "id" : "008", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "009", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 13 - ] - ], - "name" : "009" - }, - { - "name" : "010", - "id" : "010", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "011", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 10 - ] - ], - "id" : "011" - }, - { - "name" : "012", - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ], - "id" : "012" - }, - { - "name" : "013", - "id" : "013", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "id" : "014", - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ], - "name" : "014" - }, - { - "name" : "015", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 15 - ] - ], - "id" : "015" - }, - { - "name" : "016", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 12 - ] - ], - "id" : "016" - }, - { - "name" : "017", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "id" : "017" - }, - { - "name" : "018", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "id" : "018" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ], - "id" : "019", - "name" : "019" - }, - { - "id" : "020", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 13 - ] - ], - "name" : "020" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ], - "id" : "021", - "name" : "021" - }, - { - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ], - "id" : "022", - "name" : "022" - }, - { - "name" : "023", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 12 - ] - ], - "id" : "023" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 11 - ] - ], - "id" : "024", - "name" : "024" - }, - { - "id" : "025", - "data" : [ - [ - "Perl", - 28 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 12 - ] - ], - "name" : "025" - }, - { - "name" : "026", - "id" : "026", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "027", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ], - "id" : "027" - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 9 - ] - ], - "id" : "028", - "name" : "028" - }, - { - "id" : "029", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "name" : "029" - }, - { - "id" : "030", - "data" : [ - [ - "Perl", - 76 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "name" : "030" - }, - { - "name" : "031", - "id" : "031", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 10 - ] - ], - "id" : "032", - "name" : "032" - }, - { - "id" : "033", - "data" : [ - [ - "Perl", - 64 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 10 - ] - ], - "name" : "033" - }, - { - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 11 - ] - ], - "id" : "034", - "name" : "034" - }, - { - "id" : "035", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ], - "name" : "035" - }, - { - "id" : "036", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 11 - ] - ], - "name" : "036" - }, - { - "name" : "037", - "id" : "037", - "data" : [ - [ - "Perl", - 34 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "name" : "038", - "id" : "038", - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "039", - "data" : [ - [ - "Perl", - 29 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 12 - ] - ], - "id" : "039" - }, - { - "name" : "040", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ], - "id" : "040" - }, - { - "id" : "041", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "name" : "041" - }, - { - "name" : "042", - "id" : "042", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "043", - "id" : "043", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "044", - "id" : "044", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "045", - "id" : "045", - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "046", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "id" : "046" - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ], - "id" : "047", - "name" : "047" - }, - { - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 12 - ] - ], - "id" : "048", - "name" : "048" - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "id" : "049", - "name" : "049" - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ], - "id" : "050", - "name" : "050" - }, - { - "name" : "051", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 11 - ] - ], - "id" : "051" - }, - { - "name" : "052", - "id" : "052", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "053", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 15 - ] - ], - "id" : "053" - }, - { - "name" : "054", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 18 - ] - ], - "id" : "054" - }, - { - "id" : "055", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 14 - ] - ], - "name" : "055" - }, - { - "id" : "056", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ], - "name" : "056" - }, - { - "id" : "057", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ], - "name" : "057" - }, - { - "name" : "058", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 13 - ] - ], - "id" : "058" - }, - { - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 16 - ] - ], - "id" : "059", - "name" : "059" - }, - { - "name" : "060", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ], - "id" : "060" - }, - { - "name" : "061", - "id" : "061", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 28 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "id" : "062", - "name" : "062" - }, - { - "name" : "063", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ], - "id" : "063" - }, - { - "name" : "064", - "id" : "064", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "065", - "id" : "065", - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "066", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "id" : "066" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 18 - ] - ], - "id" : "067", - "name" : "067" - }, - { - "id" : "068", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 13 - ] - ], - "name" : "068" - }, - { - "name" : "069", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 16 - ] - ], - "id" : "069" - }, - { - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 17 - ] - ], - "id" : "070", - "name" : "070" - }, - { - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 15 - ] - ], - "id" : "071", - "name" : "071" - }, - { - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 42 - ], - [ - "Blog", - 19 - ] - ], - "id" : "072", - "name" : "072" - }, - { - "name" : "073", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 17 - ] - ], - "id" : "073" - }, - { - "name" : "074", - "id" : "074", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "id" : "075", - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 20 - ] - ], - "name" : "075" - }, - { - "id" : "076", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ], - "name" : "076" - }, - { - "name" : "077", - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 14 - ] - ], - "id" : "077" - }, - { - "name" : "078", - "id" : "078", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "id" : "079", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 17 - ] - ], - "name" : "079" - }, - { - "name" : "080", - "data" : [ - [ - "Perl", - 75 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ], - "id" : "080" - }, - { - "name" : "081", - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 15 - ] - ], - "id" : "081" - }, - { - "id" : "082", - "data" : [ - [ - "Perl", - 62 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 17 - ] - ], - "name" : "082" - }, - { - "name" : "083", - "id" : "083", - "data" : [ - [ - "Perl", - 73 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "084", - "id" : "084", - "data" : [ - [ - "Perl", - 71 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "085", - "data" : [ - [ - "Perl", - 64 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 18 - ] - ], - "name" : "085" - }, - { - "id" : "086", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ], - "name" : "086" - }, - { - "name" : "087", - "id" : "087", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "id" : "088", - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 20 - ] - ], - "name" : "088" - }, - { - "name" : "089", - "id" : "089", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "id" : "090", - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 17 - ] - ], - "name" : "090" - }, - { - "name" : "091", - "id" : "091", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "092", - "id" : "092", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "093", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 16 - ] - ], - "name" : "093" - }, - { - "name" : "094", - "id" : "094", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "id" : "095", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 19 - ] - ], - "name" : "095" - }, - { - "id" : "096", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 19 - ] - ], - "name" : "096" - }, - { - "data" : [ - [ - "Perl", - 63 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 19 - ] - ], - "id" : "097", - "name" : "097" - }, - { - "name" : "098", - "id" : "098", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "name" : "099", - "id" : "099", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "100", - "data" : [ - [ - "Perl", - 69 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 21 - ] - ], - "id" : "100" - }, - { - "id" : "101", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 13 - ] - ], - "name" : "101" - }, - { - "name" : "102", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ], - "id" : "102" - }, - { - "name" : "103", - "id" : "103", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "104", - "id" : "104", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "105", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 14 - ] - ], - "id" : "105" - }, - { - "name" : "106", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 3