aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2023-06-04 23:21:35 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2023-06-04 23:21:35 +0100
commit43989bb5293a3b2f1d6b5290c65ed4edd68ecbcd (patch)
tree805c70aaf48f2c6e8a08c799586c491803e8e4aa
parent27b599557a1a4cb031a9550f81bbcb0982e15327 (diff)
downloadperlweeklychallenge-club-43989bb5293a3b2f1d6b5290c65ed4edd68ecbcd.tar.gz
perlweeklychallenge-club-43989bb5293a3b2f1d6b5290c65ed4edd68ecbcd.tar.bz2
perlweeklychallenge-club-43989bb5293a3b2f1d6b5290c65ed4edd68ecbcd.zip
- Added solutions for week 219.
-rw-r--r--challenge-219/ulrich-rieke/cpp/ch-1.cpp39
-rw-r--r--challenge-219/ulrich-rieke/haskell/ch-1.hs6
-rw-r--r--challenge-219/ulrich-rieke/perl/ch-1.pl11
-rw-r--r--challenge-219/ulrich-rieke/raku/ch-1.raku7
-rw-r--r--challenge-219/ulrich-rieke/rust/ch-1.rs14
-rw-r--r--challenge-219/ulrich-rieke/rust/ch-2.rs147
-rw-r--r--stats/pwc-current.json385
-rw-r--r--stats/pwc-language-breakdown-summary.json72
-rw-r--r--stats/pwc-language-breakdown.json3042
-rw-r--r--stats/pwc-leaders.json452
-rw-r--r--stats/pwc-summary-1-30.json54
-rw-r--r--stats/pwc-summary-121-150.json48
-rw-r--r--stats/pwc-summary-151-180.json42
-rw-r--r--stats/pwc-summary-181-210.json112
-rw-r--r--stats/pwc-summary-211-240.json112
-rw-r--r--stats/pwc-summary-241-270.json118
-rw-r--r--stats/pwc-summary-271-300.json32
-rw-r--r--stats/pwc-summary-31-60.json104
-rw-r--r--stats/pwc-summary-61-90.json48
-rw-r--r--stats/pwc-summary-91-120.json104
-rw-r--r--stats/pwc-summary.json72
21 files changed, 2738 insertions, 2283 deletions
diff --git a/challenge-219/ulrich-rieke/cpp/ch-1.cpp b/challenge-219/ulrich-rieke/cpp/ch-1.cpp
new file mode 100644
index 0000000000..7f67e8494a
--- /dev/null
+++ b/challenge-219/ulrich-rieke/cpp/ch-1.cpp
@@ -0,0 +1,39 @@
+#include <iostream>
+#include <string>
+#include <vector>
+#include <algorithm>
+
+std::vector<std::string> split( const std::string & startline ,
+ const std::string & sep ) {
+ std::vector<std::string> separated ;
+ std::string::size_type start { 0 } ;
+ std::string::size_type pos ;
+ do {
+ pos = startline.find_first_of( sep , start ) ;
+ separated.push_back( startline.substr(start , pos - start )) ;
+ start = pos + 1 ;
+ } while ( pos != std::string::npos ) ;
+ return separated ;
+}
+
+int main( ) {
+ std::cout << "Enter some integers, separated by blanks!\n" ;
+ std::string line ;
+ std::getline( std::cin , line ) ;
+ std::vector<std::string> numberstrings( split( line , " " ) ) ;
+ std::vector<int> squares ;
+ for ( auto s : numberstrings ) {
+ int i = std::stoi( s ) ;
+ squares.push_back( i * i) ;
+ }
+ std::sort( squares.begin( ) , squares.end( ) ) ;
+ std::cout << '(' ;
+ for ( int i : squares ) {
+ std::cout << i ;
+ if ( i != squares.back( ) )
+ std::cout << ", " ;
+ else
+ std::cout << ")\n" ;
+ }
+ return 0 ;
+}
diff --git a/challenge-219/ulrich-rieke/haskell/ch-1.hs b/challenge-219/ulrich-rieke/haskell/ch-1.hs
new file mode 100644
index 0000000000..c360e9ed27
--- /dev/null
+++ b/challenge-219/ulrich-rieke/haskell/ch-1.hs
@@ -0,0 +1,6 @@
+module Challenge219
+ where
+import Data.List ( sort )
+
+solution :: [Int] -> [Int]
+solution = sort . map (^ 2)
diff --git a/challenge-219/ulrich-rieke/perl/ch-1.pl b/challenge-219/ulrich-rieke/perl/ch-1.pl
new file mode 100644
index 0000000000..8a2331b1ac
--- /dev/null
+++ b/challenge-219/ulrich-rieke/perl/ch-1.pl
@@ -0,0 +1,11 @@
+#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+
+say "Enter some numbers, separated by blanks!" ;
+my $line = <STDIN> ;
+chomp $line ;
+my @numbers = split( /\s/ , $line ) ;
+my @sorted = sort { $a <=> $b } map { $_ ** 2 } @numbers ;
+say "(" . join( ',' , @sorted ) . ")" ;
diff --git a/challenge-219/ulrich-rieke/raku/ch-1.raku b/challenge-219/ulrich-rieke/raku/ch-1.raku
new file mode 100644
index 0000000000..192ea594bb
--- /dev/null
+++ b/challenge-219/ulrich-rieke/raku/ch-1.raku
@@ -0,0 +1,7 @@
+use v6 ;
+
+say "Enter some integers, separated by blanks!" ;
+my $line = $*IN.get ;
+my @numbers = $line.words.map( {.Int} ) ;
+my @sorted = @numbers.map( { $_ ** 2 } ).sort( { $^a <=> $^b } ) ;
+say "(" ~ @sorted.join( ',' ) ~ ")" ;
diff --git a/challenge-219/ulrich-rieke/rust/ch-1.rs b/challenge-219/ulrich-rieke/rust/ch-1.rs
new file mode 100644
index 0000000000..ac5d8bfca9
--- /dev/null
+++ b/challenge-219/ulrich-rieke/rust/ch-1.rs
@@ -0,0 +1,14 @@
+use std::io ;
+
+fn main() {
+ println!("Enter some numbers, separated by blanks!");
+ let mut inline : String = String::new( ) ;
+ io::stdin( ).read_line( &mut inline ).unwrap( ) ;
+ let entered_line : &str = &*inline ;
+ let numbers : Vec<i32> = entered_line.split_whitespace( ).map(
+ | s | s.trim( ).parse::<i32>( ).unwrap( ) ).collect( ) ;
+ let mut squares : Vec<i32> = numbers.iter( ).map( | i | i.pow( 2 )).
+ collect( ) ;
+ squares.sort( ) ;
+ println!("{:?}" , squares) ;
+}
diff --git a/challenge-219/ulrich-rieke/rust/ch-2.rs b/challenge-219/ulrich-rieke/rust/ch-2.rs
new file mode 100644
index 0000000000..f4574543fb
--- /dev/null
+++ b/challenge-219/ulrich-rieke/rust/ch-2.rs
@@ -0,0 +1,147 @@
+use std::io ;
+
+//find all time periods with the corresponding distance, that is
+//for months it's 29 , for weeks 6 , starting from a given index
+fn find_subarrays( days : &Vec<u32> , index : usize , distance : u32)
+ -> Vec<Vec<u32>> {
+ let mut all_subarrays : Vec<Vec<u32>> = Vec::new( ) ;
+ if days[ days.len( ) - 1 ] - days[0] <= distance {
+ all_subarrays.push( days.clone( ) ) ;
+ }
+ else {
+ if index > 0 {
+ let mut an_array : Vec<u32> = Vec::new( ) ;
+ for i in 0..index {
+ an_array.push( days[ i ] ) ;
+ }
+ all_subarrays.push( an_array ) ;
+ }
+ let len : usize = days.len( ) ;
+ let mut pos : usize = index ;
+ let mut subarray : Vec<u32> = Vec::new( ) ;
+ let mut startpos : usize = pos ;
+ while pos < len {
+ if days[ pos ] - days[startpos] <= distance {
+ subarray.push( days[ pos ] ) ;
+ }
+ else {
+ all_subarrays.push( subarray.clone( ) ) ;
+ subarray.clear( ) ;
+ startpos = pos ;
+ pos -= 1 ;
+ }
+ pos += 1 ;
+ }
+ if subarray.len( ) > 0 {
+ all_subarrays.push( subarray.clone( ) ) ;
+ }
+ }
+ all_subarrays
+}
+
+//for all the subperiods, see whether the sub period qualifies for a
+//month card( distance > 6 and < 30 , there are more days in the subarray
+//than the monthlimit, that is the number of days when it is cheaper to
+//buy a month ticket than week or day tickets
+//when the difference between the first and last value in a subarray
+//would also qualify for a week ticket, see if there are more days in
+//the subarray then the week limit
+fn find_value( the_array : &Vec<Vec<u32>> , costs : &(u32 , u32 , u32) ,
+ distance : u32) -> u32 {
+ let mut all_prices : Vec<u32> = Vec::new( ) ;
+ let len : usize = the_array.len( ) ;
+ //consider all subarrays as either months or weeks, depending on the
+ //distance
+ match distance {
+ 29 => all_prices.push( (len as u32 ) * costs.2 ) ,//all are months
+ 6 => all_prices.push( (len as u32 ) * costs.1 ),//all are weeks
+ _ => { },
+ }
+ let month_limit : u32 = costs.2.checked_div( costs.0 ).unwrap( ) ;//a subarray
+ //should contain more days than this limit so that pays off to buy
+ //a month ticket
+ let week_limit : u32 = costs.1.checked_div( costs.0 ).unwrap( ) ;
+ //same for weeks
+ let mut price : u32 = 0 ;//holds the total price for all subperiods
+ for i in 0..len {
+ let sublen : usize = the_array[i].len( ) ;
+ let subdiff : u32 = the_array[ i ][sublen - 1] - the_array[ i ][0] ;
+ match distance {
+ 29 => {
+ if subdiff > 6 {//possible month
+ if (sublen as u32 ) > month_limit {//pays off as month
+ price += costs.2 ;//add month price
+ }
+ else {
+ price += ( sublen as u32 ) * costs.0 ;//take day tick.
+ }
+ }
+ else { //we are looking at possible weeks
+ if ( sublen as u32 ) > week_limit {//week ticket pays off
+ price += costs.1 ;
+ }
+ else {
+ price += ( sublen as u32 ) * costs.0 ;//day tickets
+ }
+ }
+ } ,
+ 6 => {
+ if ( sublen as u32) > week_limit {
+ price += costs.1 ;
+ }
+ else {
+ price += ( sublen as u32 ) * costs.0 ;
+ }
+ } ,
+ _ => { }
+ }
+ }
+ all_prices.push( price ) ;
+ *all_prices.iter( ).min( ).unwrap( )
+}
+
+fn main( ) {
+ println!("Enter the prices for a day, week and month card, separated by blanks!") ;
+ let mut inline : String = String::new( ) ;
+ io::stdin( ).read_line( &mut inline ).unwrap( ) ;
+ let costline : &str = &*inline ;
+ let the_costs : Vec<u32> = costline.split_whitespace( ).map( | s |
+ s.trim( ).parse::<u32>( ).unwrap( ) ).collect( ) ;
+ let costs : (u32 , u32 , u32) = (the_costs[ 0 ] , the_costs[1] , the_costs[ 2 ] ) ;
+ println!("Enter the days you want to travel!" ) ;
+ let mut dayline : String = String::new( ) ;
+ io::stdin( ).read_line( &mut dayline ).unwrap( ) ;
+ let the_days : &str = &*dayline ;
+ let days : Vec<u32> = the_days.split_whitespace( ).map( | s | s.trim( ).
+ parse::<u32>( ).unwrap( ) ).collect( ) ;
+ let mut total_ticket_prices : Vec<u32> = Vec::new( ) ;
+ let len : usize = days.len( ) ;
+ total_ticket_prices.push( (len as u32) * costs.0 ) ; //we only buy day tickets!
+ //we look for valid month periods
+ let month_arrays : Vec<Vec<u32>> = find_subarrays( &days , 0 , 29 ) ;
+ total_ticket_prices.push( find_value( &month_arrays, &costs , 29 )) ;
+ //find end of first array
+ let first_len : usize = month_arrays[0].len( ) ;
+ let first_end : u32 = month_arrays[0][first_len - 1] ;
+ let upto : usize = days.iter( ).position( | &d | d == first_end ).unwrap( ) + 1 ;
+ if upto < days.len( ) - 1 {
+ for pos in 0..upto {
+ let arrays_month : Vec<Vec<u32>> = find_subarrays( &days, pos , 29 ) ;
+ total_ticket_prices.push( find_value( &arrays_month, &costs , 29 ) ) ;
+ }
+ }
+ let week_arrays : Vec<Vec<u32>> = find_subarrays( &days, 0 , 6 ) ;
+ let price : u32 = find_value( &week_arrays, &costs, 6 ) ;
+ total_ticket_prices.push( price ) ;
+ let first_len : usize = week_arrays[0].len( ) ;
+ let first_end : u32 = week_arrays[0][first_len - 1] ;
+ let upto : usize = days.iter( ).position( | &d | d == first_end ).unwrap( ) + 1 ;
+ if upto < days.len( ) - 1 {
+ for pos in 0..upto {
+ let arrays_week : Vec<Vec<u32>> = find_subarrays( &days, pos, 6 ) ;
+ let current_price : u32 = find_value( &arrays_week , &costs, 6 ) ;
+ total_ticket_prices.push( current_price ) ;
+ }
+ }
+ println!("{:?}" , total_ticket_prices.iter( ).min( ).unwrap( ) ) ;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index a84bc511d7..c6fd491068 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,15 +1,4 @@
{
- "xAxis" : {
- "type" : "category"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "title" : {
- "text" : "The Weekly Challenge - 219"
- },
"drilldown" : {
"series" : [
{
@@ -30,11 +19,63 @@
"data" : [
[
"Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ]
+ ],
+ "name" : "Athanasius",
+ "id" : "Athanasius"
+ },
+ {
+ "name" : "Avery Adams",
+ "id" : "Avery Adams",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Blog",
+ 2
+ ]
+ ]
+ },
+ {
+ "name" : "BarrOff",
+ "id" : "BarrOff",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ]
+ ]
+ },
+ {
+ "data" : [
+ [
+ "Raku",
2
]
],
+ "name" : "Bruce Gray",
+ "id" : "Bruce Gray"
+ },
+ {
"id" : "David Ferrone",
- "name" : "David Ferrone"
+ "name" : "David Ferrone",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ]
},
{
"name" : "E. Choroba",
@@ -47,8 +88,8 @@
]
},
{
- "name" : "Flavio Poletti",
"id" : "Flavio Poletti",
+ "name" : "Flavio Poletti",
"data" : [
[
"Perl",
@@ -65,8 +106,36 @@
]
},
{
- "id" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld",
+ "name" : "Jan Krnavek",
+ "id" : "Jan Krnavek",
+ "data" : [
+ [
+ "Raku",
+ 2
+ ]
+ ]
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 1
+ ]
+ ],
+ "id" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey"
+ },
+ {
+ "name" : "Lance Wicks",
+ "id" : "Lance Wicks",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ]
+ ]
+ },
+ {
"data" : [
[
"Perl",
@@ -80,9 +149,23 @@
"Blog",
1
]
+ ],
+ "name" : "Laurent Rosenfeld",
+ "id" : "Laurent Rosenfeld"
+ },
+ {
+ "id" : "Lubos Kolouch",
+ "name" : "Lubos Kolouch",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
]
},
{
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari",
"data" : [
[
"Raku",
@@ -92,33 +175,59 @@
"Blog",
6
]
- ],
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari"
+ ]
},
{
+ "id" : "Mariano Spadaccini",
+ "name" : "Mariano Spadaccini",
"data" : [
[
"Perl",
1
]
- ],
- "name" : "Mariano Spadaccini",
- "id" : "Mariano Spadaccini"
+ ]
},
{
"data" : [
[
"Raku",
- 2
+ 1
]
],
"name" : "Mark Anderson",
"id" : "Mark Anderson"
},
{
- "name" : "Robert DiCicco",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "name" : "Peter Campbell Smith",
+ "id" : "Peter Campbell Smith"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "id" : "Robbie Hatley",
+ "name" : "Robbie Hatley"
+ },
+ {
"id" : "Robert DiCicco",
+ "name" : "Robert DiCicco",
"data" : [
[
"Perl",
@@ -131,18 +240,16 @@
]
},
{
+ "id" : "Robert Ransbottom",
+ "name" : "Robert Ransbottom",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Robert Ransbottom",
- "name" : "Robert Ransbottom"
+ ]
},
{
- "name" : "Roger Bell_West",
- "id" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -151,15 +258,49 @@
[
"Raku",
2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "name" : "Roger Bell_West",
+ "id" : "Roger Bell_West"
+ },
+ {
+ "id" : "Simon Green",
+ "name" : "Simon Green",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Blog",
+ 1
]
]
},
{
- "id" : "Solathian",
"name" : "Solathian",
+ "id" : "Solathian",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ]
+ ]
+ },
+ {
+ "name" : "Stephen G. Lynn",
+ "id" : "Stephen G. Lynn",
"data" : [
[
"Perl",
+ 2
+ ],
+ [
+ "Blog",
1
]
]
@@ -175,12 +316,24 @@
2
]
],
- "name" : "Thomas Kohler",
- "id" : "Thomas Kohler"
+ "id" : "Thomas Kohler",
+ "name" : "Thomas Kohler"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ]
+ ],
+ "name" : "Ulrich Rieke",
+ "id" : "Ulrich Rieke"
},
{
- "id" : "W. Luis Mochan",
- "name" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -190,109 +343,187 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "W. Luis Mochan",
+ "id" : "W. Luis Mochan"
}
]
},
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
+ "title" : {
+ "text" : "The Weekly Challenge - 219"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 27] Last updated at 2023-06-04 22:19:02 GMT"
},
"legend" : {
"enabled" : 0
},
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
"series" : [
{
+ "colorByPoint" : 1,
"data" : [
{
- "drilldown" : "Arne Sommer",
+ "name" : "Arne Sommer",
"y" : 3,
- "name" : "Arne Sommer"
+ "drilldown" : "Arne Sommer"
},
{
- "name" : "David Ferrone",
+ "drilldown" : "Athanasius",
"y" : 2,
- "drilldown" : "David Ferrone"
+ "name" : "Athanasius"
+ },
+ {
+ "drilldown" : "Avery Adams",
+ "y" : 3,
+ "name" : "Avery Adams"
},
{
- "name" : "E. Choroba",
"y" : 2,
- "drilldown" : "E. Choroba"
+ "name" : "BarrOff",
+ "drilldown" : "BarrOff"
},
{
- "y" : 6,
+ "y" : 2,
+ "name" : "Bruce Gray",
+ "drilldown" : "Bruce Gray"
+ },
+ {
+ "drilldown" : "David Ferrone",
+ "name" : "David Ferrone",
+ "y" : 2
+ },
+ {
+ "drilldown" : "E. Choroba",
+ "name" : "E. Choroba",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Flavio Poletti",
"name" : "Flavio Poletti",
- "drilldown" : "Flavio Poletti"
+ "y" : 6
},
{
+ "y" : 2,
+ "name" : "Jan Krnavek",
+ "drilldown" : "Jan Krnavek"
+ },
+ {
+ "name" : "Jorg Sommrey",
+ "y" : 1,
+ "drilldown" : "Jorg Sommrey"
+ },
+ {
+ "drilldown" : "Lance Wicks",
+ "name" : "Lance Wicks",
+ "y" : 1
+ },
+ {
+ "drilldown" : "Laurent Rosenfeld",
"name" : "Laurent Rosenfeld",
- "y" : 3,
- "drilldown" : "Laurent Rosenfeld"
+ "y" : 3
+ },
+ {
+ "drilldown" : "Lubos Kolouch",
+ "name" : "Lubos Kolouch",
+ "y" : 2
},
{
- "drilldown" : "Luca Ferrari",
"name" : "Luca Ferrari",
- "y" : 8
+ "y" : 8,
+ "drilldown" : "Luca Ferrari"
},
{
"drilldown" : "Mariano Spadaccini",
- "y" : 1,
- "name" : "Mariano Spadaccini"
+ "name" : "Mariano Spadaccini",
+ "y" : 1
},
{
- "drilldown" : "Mark Anderson",
+ "y" : 1,
"name" : "Mark Anderson",
- "y" : 2
+ "drilldown" : "Mark Anderson"
+ },
+ {
+ "y" : 3,
+ "name" : "Peter Campbell Smith",
+ "drilldown" : "Peter Campbell Smith"
},
{
"y" : 2,
- "name" : "Robert DiCicco",
- "drilldown" : "Robert DiCicco"
+ "name" : "Robbie Hatley",
+ "drilldown" : "Robbie Hatley"
},
{
- "drilldown" : "Robert Ransbottom",
+ "drilldown" : "Robert DiCicco",
"y" : 2,
- "name" : "Robert Ransbottom"
+ "name" : "Robert DiCicco"
},
{
- "y" : 4,
+ "y" : 2,
+ "name" : "Robert Ransbottom",
+ "drilldown" : "Robert Ransbottom"
+ },
+ {
+ "y" : 5,
"name" : "Roger Bell_West",
"drilldown" : "Roger Bell_West"
},
{
+ "name" : "Simon Green",
+ "y" : 3,
+ "drilldown" : "Simon Green"
+ },
+ {
"drilldown" : "Solathian",
"y" : 1,
"name" : "Solathian"
},
{
- "drilldown" : "Thomas Kohler",
+ "name" : "Stephen G. Lynn",
+ "y" : 3,
+ "drilldown" : "Stephen G. Lynn"
+ },
+ {
"y" : 4,
- "name" : "Thomas Kohler"
+ "name" : "Thomas Kohler",
+ "drilldown" : "Thomas Kohler"
+ },
+ {
+ "name" : "Ulrich Rieke",
+ "y" : 2,
+ "drilldown" : "Ulrich Rieke"
},
{
- "drilldown" : "W. Luis Mochan",
+ "name" : "W. Luis Mochan",
"y" : 3,
- "name" : "W. Luis Mochan"
+ "drilldown" : "W. Luis Mochan"
}
],
- "name" : "The Weekly Challenge - 219",
- "colorByPoint" : 1
+ "name" : "The Weekly Challenge - 219"
}
],
- "chart" : {
- "type" : "column"
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
},
- "subtitle" : {
- "text" : "[Champions: 14] Last updated at 2023-06-01 09:33:56 GMT"
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
},
- "tooltip" : {
- "followPointer" : 1,
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ "chart" : {
+ "type" : "column"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 1a88a45e85..7ce807a578 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,63 +1,63 @@
{
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- }
- }
- },
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
- },
- "title" : {
- "text" : "The Weekly Challenge Contributions [2019 - 2023]"
- },
- "legend" : {
- "enabled" : "false"
- },
"series" : [
{
"dataLabels" : {
- "color" : "#FFFFFF",
- "y" : 10,
- "enabled" : "true",
- "rotation" : -90,
+ "align" : "right",
"style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
},
- "align" : "right",
- "format" : "{point.y:.0f}"
+ "y" : 10,
+ "enabled" : "true",
+ "format" : "{point.y:.0f}",
+ "color" : "#FFFFFF",
+ "rotation" : -90
},
"data" : [
[
"Blog",
- 3625
+ 3632
],
[
"Perl",
- 11169
+ 11184
],
[
"Raku",
- 6457
+ 6463
]
],
"name" : "Contributions"
}
],
- "chart" : {
- "type" : "column"
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ },
+ "type" : "category"
},
- "subtitle" : {
- "text" : "Last updated at 2023-06-01 09:33:56 GMT"
+ "title" : {
+ "text" : "The Weekly Challenge Contributions [2019 - 2023]"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : null
+ },
+ "min" : 0
+ },
+ "legend" : {
+ "enabled" : "false"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2023-06-04 22:19:02 GMT"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 8016dd2641..fe333c4d5e 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,14 +1,1126 @@
{
+ "series" : [
+ {
+ "name" : "The Weekly Challenge Languages",
+ "colorByPoint" : "true",
+ "data" : [
+ {
+ "drilldown" : "001",
+ "y" : 163,
+ "name" : "#001"
+ },
+ {
+ "drilldown" : "002",
+ "y" : 129,
+ "name" : "#002"
+ },
+ {
+ "drilldown" : "003",
+ "name" : "#003",
+ "y" : 87
+ },
+ {
+ "drilldown" : "004",
+ "name" : "#004",
+ "y" : 103
+ },
+ {
+ "drilldow