From ffc47a8850ee877978e371d11a01a028862a3f9d Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 18 Jun 2024 20:32:12 +0100 Subject: - Added solutions by Eric Cheung. - Added solutions by Ulrich Rieke. - Added solutions by E. Choroba. - Added solutions by PokGoPun. - Added solutions by Mark Anderson. - Added solutions by Peter Meszaros. - Added solutions by Mariano Spadaccini. - Added solutions by Roger Bell_West. - Added solutions by Thomas Kohler. - Added solutions by Dave Jacoby. --- challenge-274/eric-cheung/python/ch-1.py | 17 + challenge-274/eric-cheung/python/ch-2.py | 36 + challenge-274/ulrich-rieke/cpp/ch-1.cpp | 43 + challenge-274/ulrich-rieke/cpp/ch-2.cpp | 90 ++ challenge-274/ulrich-rieke/haskell/ch-1.hs | 17 + challenge-274/ulrich-rieke/haskell/ch-2.hs | 51 + challenge-274/ulrich-rieke/perl/ch-1.pl | 28 + challenge-274/ulrich-rieke/perl/ch-2.pl | 72 ++ challenge-274/ulrich-rieke/raku/ch-1.raku | 24 + challenge-274/ulrich-rieke/raku/ch-2.raku | 50 + challenge-274/ulrich-rieke/rust/ch-1.rs | 45 + challenge-274/ulrich-rieke/rust/ch-2.rs | 68 + stats/pwc-challenge-273.json | 722 +++++++++++ stats/pwc-current.json | 688 ++-------- stats/pwc-language-breakdown-summary.json | 48 +- stats/pwc-language-breakdown.json | 1899 ++++++++++++++-------------- stats/pwc-leaders.json | 452 +++---- stats/pwc-summary-1-30.json | 96 +- stats/pwc-summary-121-150.json | 34 +- stats/pwc-summary-151-180.json | 36 +- stats/pwc-summary-181-210.json | 100 +- stats/pwc-summary-211-240.json | 102 +- stats/pwc-summary-241-270.json | 108 +- stats/pwc-summary-271-300.json | 114 +- stats/pwc-summary-301-330.json | 52 +- stats/pwc-summary-31-60.json | 38 +- stats/pwc-summary-61-90.json | 64 +- stats/pwc-summary-91-120.json | 104 +- stats/pwc-summary.json | 56 +- 29 files changed, 2999 insertions(+), 2255 deletions(-) create mode 100755 challenge-274/eric-cheung/python/ch-1.py create mode 100755 challenge-274/eric-cheung/python/ch-2.py create mode 100755 challenge-274/ulrich-rieke/cpp/ch-1.cpp create mode 100755 challenge-274/ulrich-rieke/cpp/ch-2.cpp create mode 100755 challenge-274/ulrich-rieke/haskell/ch-1.hs create mode 100755 challenge-274/ulrich-rieke/haskell/ch-2.hs create mode 100755 challenge-274/ulrich-rieke/perl/ch-1.pl create mode 100755 challenge-274/ulrich-rieke/perl/ch-2.pl create mode 100755 challenge-274/ulrich-rieke/raku/ch-1.raku create mode 100755 challenge-274/ulrich-rieke/raku/ch-2.raku create mode 100755 challenge-274/ulrich-rieke/rust/ch-1.rs create mode 100755 challenge-274/ulrich-rieke/rust/ch-2.rs create mode 100644 stats/pwc-challenge-273.json diff --git a/challenge-274/eric-cheung/python/ch-1.py b/challenge-274/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..8c26012d10 --- /dev/null +++ b/challenge-274/eric-cheung/python/ch-1.py @@ -0,0 +1,17 @@ + +## strSentence = "I love Perl" ## Example 1 +## strSentence = "Perl and Raku are friends" ## Example 2 +strSentence = "The Weekly Challenge" ## Example 3 + +arrVowel = ["a", "e", "i", "o", "u"] + +strOutput = "" +arrOutput = [] + +for nIndx, strLoop in enumerate(strSentence.split()): + + strOutput = (strLoop if strLoop[0].lower() in arrVowel else strLoop[1:] + strLoop[0]) + strOutput = strOutput + "ma" + "a" * (nIndx + 1) + arrOutput.append(strOutput) + +print (" ".join(arrOutput)) diff --git a/challenge-274/eric-cheung/python/ch-2.py b/challenge-274/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..4d7b01d69a --- /dev/null +++ b/challenge-274/eric-cheung/python/ch-2.py @@ -0,0 +1,36 @@ + +## arrInput = [[12, 11, 41], [15, 5, 35]] ## Example 1 +arrInput = [[12, 3, 41], [15, 9, 35], [30, 5, 25]] ## Example 2 + +## Remarks +## [Period, Start, Travel Time], [Bus 1], [Bus 2], ... + +arrBus = [] +arrOutput = [] + +for arrLoop in arrInput: + nMinStart = arrLoop[1] + while nMinStart < 60: + arrBus.append([nMinStart, nMinStart + arrLoop[2]]) + nMinStart = nMinStart + arrLoop[0] + +arrBus = sorted(arrBus, key = lambda nElem: (nElem[0], nElem[1])) +arrBus.append([arrBus[0][0] + 60, arrBus[0][1] + 60]) + +arrStart = [arrLoop[0] for arrLoop in arrBus] + +## print (arrBus) + +for nLoop in range(60): + + if nLoop <= arrBus[0][0] or nLoop > arrBus[-2][0]: + nIndx = 0 + else: + nIndx = min([nIndx for nIndx, nStartMin in enumerate(arrStart) if nLoop <= nStartMin]) + + if arrBus[nIndx][1] <= arrBus[nIndx + 1][1]: + continue + + arrOutput.append(nLoop) + +print (arrOutput) diff --git a/challenge-274/ulrich-rieke/cpp/ch-1.cpp b/challenge-274/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..2e6743786d --- /dev/null +++ b/challenge-274/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,43 @@ +#include +#include +#include +#include +#include +#include +#include + +std::string convert( std::pair & aPair ) { + std::string vowels {"AEIOUaeiou"} ; + std::string word { aPair.second } ; + std::string changed ; + if (vowels.find( word.substr( 0 , 1 ) ) != std::string::npos) { + changed = word + std::string( "ma" ) ; + } + else { + changed = word.substr( 1 ) + word.substr( 0 , 1 ) + std::string( "ma" ) ; + } + for ( int i = 0 ; i < aPair.first + 2 ; i++ ) + changed.append( 1 , 'a' ) ; + return changed ; +} + +int main( ) { + std::cout << "Enter a sentence!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + auto parts = line | std::views::split( ' ' ) + | std::views::transform( []( auto&& subrange ) + { return std::string( subrange.begin( ) , subrange.end( ) ) ; } + ) ; + std::vector words ( parts.begin( ) , parts.end( ) ) ; + std::vector> allPairs ; + for ( int i = 0 ; i < words.size( ) ; i++ ) + allPairs.push_back( std::make_pair( i , words[ i ] ) ) ; + std::vector converted ; + for ( auto & pa : allPairs ) + converted.push_back( convert( pa ) ) ; + std::copy( converted.begin( ) , converted.end( ) , + std::ostream_iterator( std::cout , " " ) ) ; + std::cout << '\n' ; + return 0 ; +} diff --git a/challenge-274/ulrich-rieke/cpp/ch-2.cpp b/challenge-274/ulrich-rieke/cpp/ch-2.cpp new file mode 100755 index 0000000000..367d70d308 --- /dev/null +++ b/challenge-274/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,90 @@ +#include +#include +#include +#include +#include +#include + +std::vector split( const std::string & startline , + const std::string & sep ) { + std::vector separated ; + std::string::size_type start { 0 } ; + std::string::size_type pos ; + do { + pos = startline.find_first_of( sep , start ) ; + separated.push_back( startline.substr(start , pos - start )) ; + start = pos + 1 ; + } while ( pos != std::string::npos ) ; + return separated ; +} + +//given a certain minute, find the next bus departures, sorted by time of +//departure. Every entry contains the number of the busline and its departure +std::vector> findNextDepartures( int minute , const + std::vector> & schedule ) { + int len = schedule.size( ) ; + std::vector> departures ; + for ( int i = 0 ; i < len ; i++ ) { + int depart = schedule[i][1] ; + while ( depart < minute ) { + depart += schedule[i][0] ; + } + departures.push_back( std::make_pair( i , depart )) ; + } + std::sort( departures.begin( ) , departures.end( ) , []( const auto & p1 , + const auto & p2 ) { return p1.second < p2.second ; } ) ; + return departures ; +} +//find the arrival times of the buses in the order of their start +std::vector findArrivals( const std::vector> & schedule , + const std::vector> & departures ) { + std::vector arrivals ; + for ( auto it = departures.begin( ) ; it != departures.end( ) ; ++it ) { + int arri = it->second + schedule[it->first][2] ; + arrivals.push_back( arri ) ; + } + return arrivals ; +} +//at a given minute , should I let a bus pass ? yes, if the second bus arrives +//strictly sooner, provided 2 buses don't leave at the same time and don't +//arrive at the same time +bool let_pass_one( int minute , const std::vector> & schedule ) { + std::vector> next_departures = findNextDepartures( + minute , schedule ) ; + std::vector arrivals = findArrivals( schedule , next_departures ) ; + if ( (next_departures[0].second != next_departures[1].second) && (arrivals[0] + > arrivals[1] ) ) + return true ; + else + return false ; +} + +int main( ) { + std::cout << "Please enter some bus schedules ( 3 numbers per line ) !\n" ; + std::cout << "Enter to end!\n" ; + std::string line ; + std::vector allLines ; + std::getline( std::cin , line ) ; + while ( line.length( ) > 0 ) { + allLines.push_back( line ) ; + std::getline( std::cin , line ) ; + } + std::vector> schedule ; + for ( auto & l : allLines ) { + std::vector aLine { split( l , " " ) } ; + std::vector numbers ; + for ( auto & w : aLine ) + numbers.push_back( std::stoi( w ) ) ; + schedule.push_back( numbers ) ; + } + std::vector result ; + for ( int i = 0 ; i < 60 ; i++ ) { + if ( let_pass_one( i , schedule ) ) + result.push_back( i ) ; + } + std::cout << "[ " ; + std::copy( result.begin( ) , result.end( ) , std::ostream_iterator( + std::cout , " " ) ) ; + std::cout << "]\n" ; + return 0 ; +} diff --git a/challenge-274/ulrich-rieke/haskell/ch-1.hs b/challenge-274/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..593ec280ed --- /dev/null +++ b/challenge-274/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,17 @@ +module Challenge274 + where +import Data.List ( tail ) + +vowels :: [Char] +vowels = "AEIOUaeiou" + +convert :: String -> Int -> String +convert s pos = if elem ( head s ) vowels then s ++ "ma" ++ replicate ( pos + 1 ) 'a' + else tail s ++ [head s] ++ "ma" ++ replicate ( pos + 1 ) 'a' + +main :: IO ( ) +main = do + putStrLn "Enter a string!" + line <- getLine + let zipped = zip ( words line ) [0 , 1 ..] + print $ unwords $ map (\(word, p) -> convert word p ) zipped diff --git a/challenge-274/ulrich-rieke/haskell/ch-2.hs b/challenge-274/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..92f3fb7824 --- /dev/null +++ b/challenge-274/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,51 @@ +module Challenge274_2 + where +import Data.List ( (!!) , sortOn) + +--when does the next bus line leave ? +findNextStart :: Int -> [Int] -> Int +findNextStart minute busschedule = head $ dropWhile ( < minute ) $ + iterate ( + busschedule !! 0 ) (busschedule !! 1 ) + +--which lines come next , in order of start +nextStarts :: Int -> [[Int]] -> [(Int , Int)] +nextStarts minute schedule = sortOn snd $ map (\(i , sched ) -> (i , + findNextStart minute sched )) $ zip [0 , 1 ..] schedule + +--when do the next buses arrive, in order of start ? +findArrivals :: Int -> [[Int]] -> [Int] +findArrivals minute schedule = + let starts = nextStarts minute schedule + in map (\( i , d ) -> d + schedule !! i !! 2 ) starts + +--let one bus leave if the first bus arrives in town later , +--provided they do not start at the same time and arrive at the +--same time +letOnePass :: Int -> [[Int]] -> Bool +letOnePass minute schedule = + let starts = nextStarts minute schedule + firstLines = ( snd $ starts !! 0 , snd $ starts !! 1 ) + arrivals = map (\(i , d) -> d + schedule !! i !! 2 ) starts + in (fst firstLines /= snd firstLines) && ( minimum arrivals == arrivals + !! 1 ) && ( arrivals !! 0 /= arrivals !! 1 ) + +enterNLines :: Int -> IO [String] +enterNLines n + |n <= 0 = return [] + |otherwise = do + putStrLn "Enter some integers, separated by blanks!" + x <- getLine + xs <- enterNLines ( n - 1 ) + let ret = (x:xs) + return ret + +solution :: [[Int]] -> [Int] +solution schedule = filter (\i -> letOnePass i schedule ) [0..59] + +main = do + putStrLn "Enter some bus schedules!( interval , offset , drive time! )" + putStrLn "For how many bus lines do you want to enter schedules ?" + linenumber <- getLine + buslines <- enterNLines ( read linenumber ) + let schedule = map ( map read . words ) buslines + print $ solution schedule diff --git a/challenge-274/ulrich-rieke/perl/ch-1.pl b/challenge-274/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..9251c64db8 --- /dev/null +++ b/challenge-274/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub convert { + my $pair = shift ; + my $word = $pair->[1] ; + if ( $word =~ /^[AEIOUaeiou]/ ) { + $word .= "ma" ; + } + else { + $word = ( substr( $word , 1 ) . substr( $word , 0 , 1 ) . "ma" ) ; + } + $word .= "a" x ( $pair->[0] + 1 ) ; + return $word ; +} + +say "Enter a sentence!" ; +my $line = ; +chomp $line ; +my @words = split( /\s+/ , $line ) ; +my @wordIndices ; +for my $i (0.. scalar( @words ) - 1 ) { + push( @wordIndices, [$i , $words[$i]] ) ; +} +my @result = map { convert( $_ ) } @wordIndices ; +say join( ' ' , @result) ; diff --git a/challenge-274/ulrich-rieke/perl/ch-2.pl b/challenge-274/ulrich-rieke/perl/ch-2.pl new file mode 100755 index 0000000000..7fa34a87fe --- /dev/null +++ b/challenge-274/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,72 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw ( min ) ; + +#given a minute and the array of bus schedules , find an array that orders +#the bus lines by proximity to the given minute, storing the number of the +#bus line first +sub findNextStarts { + my $number = shift ; + my $schedule = shift ; + my @startList ; + for my $i (0..scalar( @$schedule ) - 1) { + my $start = $schedule->[$i]->[1] ; + while ( $start < $number ) { + $start += $schedule->[$i]->[0] ; + } + push ( @startList , [$i , $start] ) ; + } + my @sorted = sort { $a->[1] <=> $b->[1] } @startList ; + return @sorted ; +} +#find the arrival times in the order of the start times +sub findNextArrivals { + my $number = shift ; #the minute + my $schedule = shift ; #the bus line schedule + my $startList = shift ; #the array of [bus line number , start time] + my @arrivals ; #times of arrival in the city + for my $st ( @$startList ) { + push( @arrivals , $st->[1] + $schedule->[$st->[0]]->[2] ) ; + } + return @arrivals ; +} +#we have to let 1 bus pass if the next bus arrives strictly earlier , +#provided the no two buses start or arrive at the same time +sub myCondition { + my $number = shift ; + my $schedule = shift ; + my @nextStarts = findNextStarts( $number , $schedule ) ; + my @arrivals = findNextArrivals( $number , $schedule , \@nextStarts ) ; + if ( ($nextStarts[ 0 ]->[1] != $nextStarts[1]->[1]) && ($arrivals[0] != + $arrivals[1] ) && ( min( @arrivals ) == $arrivals[ 1 ] ) ) { + return 1 ; + } + else { + return 0 ; + } +} + +say "Enter the schedule of some bus lines in 3 numbers each!" ; +my @lines ; +my $line = ; +chomp $line ; +while ( $line ) { + push @lines , $line ; + say "Next bus line !" ; + $line = ; + chomp $line ; +} +my @times ; +for my $inline ( @lines ) { + my @schedule = split ( /\s+/ , $inline ) ; + push ( @times , \@schedule ) ; +} +my @selected = grep { myCondition( $_ , \@times ) } (0..59) ; +if ( @selected ) { + say "[" . join( ',' , @selected) . "]" ; +} +else { + say "[]" ; +} diff --git a/challenge-274/ulrich-rieke/raku/ch-1.raku b/challenge-274/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..6677e42b80 --- /dev/null +++ b/challenge-274/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,24 @@ +use v6 ; + +sub convert( ($index , $word is copy) ) { + my $vowels = ('A' , 'E' , 'I' , 'O' , 'U' , 'a' , 'e' , 'i' , 'o' , 'u').Set ; + my $firstLetter = ($word.comb)[0] ; + if ( $firstLetter (elem) $vowels ) { + $word ~= "ma" ; + } + else { + $word = ($word.substr( 1 ) ~ $firstLetter.Str ~ "ma" ) ; + } + $word ~= 'a' x ( $index + 1 ) ; + return $word ; +} + +say "Enter a sentence!" ; +my $line = $*IN.get ; +my @words = $line.words ; +my @word_indices ; +for (0..@words.elems - 1 ) -> $pos { + @word_indices.push( ($pos , @words[ $pos ] ) ) ; +} +my @converted = @word_indices.map( { convert( $_ ) } ) ; +say @converted.join( ' ' ) ; diff --git a/challenge-274/ulrich-rieke/raku/ch-2.raku b/challenge-274/ulrich-rieke/raku/ch-2.raku new file mode 100755 index 0000000000..bfb2fc4ced --- /dev/null +++ b/challenge-274/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,50 @@ +use v6 ; + +sub findNextStarts( $number , @schedule ) { + my @startList ; + for (0..@schedule.elems - 1) -> $i { + my $start = @schedule[$i][1] ; + while ( $start < $number ) { + $start += @schedule[$i][0] ; + } + @startList.push( ($i , $start ) ) ; + } + my @sorted = @startList.sort( {$^a[1] <=> $^b[1]} ) ; + return @sorted ; +} + +sub findNextArrivals( @schedule , @departures ) { + my @arrivals ; + for ( @departures ) -> $pair { + @arrivals.push( $pair[1] + @schedule[$pair[0]][2] ) ; + } + return @arrivals ; +} + +sub myCondition( $minute , @schedule ) { + my @nextStarts = findNextStarts( $minute , @schedule ) ; + my @arrivals = findNextArrivals( @schedule , @nextStarts ) ; + if ( @nextStarts[0][1] != @nextStarts[1][1] && @arrivals[0] > @arrivals[1] ) { + return True ; + } + else { + return False ; + } +} + +say "Enter the schedule of some bus lines in 3 numbers each!" ; +my @lines ; +my $line = $*IN.get ; +while ( $line ) { + @lines.push( $line ) ; + $line = $*IN.get ; +} +my @schedule ; +for @lines -> $bus { + my @subschedule = $bus.words.map( {.Int} ) ; + @schedule.push( @subschedule ) ; +} +my @selected = (0..59).grep( {myCondition( $_ , @schedule )} ) ; +print '[' ; +print @selected.join( ',' ) ; +say ']' ; diff --git a/challenge-274/ulrich-rieke/rust/ch-1.rs b/challenge-274/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..4f1f8f5cc0 --- /dev/null +++ b/challenge-274/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,45 @@ +use std::io ; + +fn convert( element : (usize , &str) ) -> String { + let vowels : Vec = vec!['A' , 'E' , 'I' , 'O' , 'U' , 'a' , 'e' , 'i' , + 'o' , 'u'] ; + let vows = &vowels[..] ; + let word : &str = element.1 ; + let first_letter : char = word.chars( ).nth( 0 ).unwrap( ) ; + let mut changed : String = String::new( ) ; + if vows.contains( &first_letter ) { + for c in word.chars( ) { + changed.push( c ) ; + } + } + else { + for c in word.chars( ).skip( 1 ) { + changed.push( c ) ; + } + changed.push( first_letter ) ; + } + changed.push_str( "ma" ) ; + let added : String = "a".repeat( element.0 + 1 ) ; + changed.push_str( &added ) ; + changed +} + +fn main() { + println!("Enter a sentence!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let entered_line : &str = inline.as_str( ).trim( ) ; + let words : Vec<&str> = entered_line.split_whitespace( ).collect( ) ; + let mut goated : Vec = Vec::new( ) ; + words.into_iter( ).enumerate( ).for_each( | p | goated.push( convert( p ) ) ) ; + let mut final_string : String = String::new( ) ; + final_string.push_str( goated[0].as_str( ) ) ; + final_string.push_str( " " ) ; + for i in 1..goated.len( ) { + final_string.push_str( &goated[i] ) ; + if i < goated.len( ) - 1 { + final_string.push_str( " " ) ; + } + } + println!( "{:?}" , final_string) ; +} diff --git a/challenge-274/ulrich-rieke/rust/ch-2.rs b/challenge-274/ulrich-rieke/rust/ch-2.rs new file mode 100755 index 0000000000..351d20f027 --- /dev/null +++ b/challenge-274/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,68 @@ +use std::io ; +use std::io::BufRead ; + +fn find_next_departures( minute : u8 , schedule : &Vec> ) -> Vec<(u8 , u8)> { + let mut dep_pairs : Vec<(u8 , u8)> = Vec::new( ) ; + let len = schedule.len( ) ; + for i in 0..len { + let mut dep : u8 = schedule[i][1] ; + while dep < minute { + dep += schedule[i][0] ; + } + dep_pairs.push( (i as u8 , dep) ) ; + } + let pairs = &mut dep_pairs[..] ; + pairs.sort_by( | a , b | a.1.partial_cmp( &b.1).unwrap( ) ) ; + let result : Vec<(u8 , u8)> = pairs.to_vec( ) ; + result +} + +fn find_arrivals( schedule : &Vec> , next_buses : &Vec<(u8,u8)>) + -> Vec { + let mut arrivals : Vec = Vec::new( ) ; + for pair in next_buses { + let arri : u8 = pair.1 + schedule[pair.0 as usize][2] ; + arrivals.push( arri ) ; + } + arrivals +} + +fn let_pass_one( minute : u8 , schedule : &Vec> ) -> bool { + let next_departures : Vec<(u8 , u8)> = find_next_departures( minute , &schedule ) ; + let arrivals : Vec = find_arrivals( &schedule , &next_departures ) ; + if next_departures[0].1 != next_departures[1].1 && arrivals[0] > arrivals[1] { + return true ; + } + false +} + +fn main() -> io::Result<()> { + println!("Enter some lines of 3 digits marking interval, start and travel time!") ; + println!( "Enter to end!" ) ; + let mut lines = io::stdin( ).lock( ).lines( ) ; + let mut all_input : String = String::new( ) ; + while let Some( line ) = lines.next( ) { + let last_input = line.unwrap( ) ; + if last_input.len( ) == 0 { + break ; + } + else { + all_input.push_str( &last_input ) ; + all_input.push_str( "\n" ) ; + } + } + let all_lines : &str = all_input.as_str( ).trim( ) ; + let rows : Vec<&str> = all_lines.split( "\n" ).collect( ) ; + let mut schedule : Vec> = Vec::new( ) ; + for r in &rows { + if r.len( ) > 0 { + let sub_schedule : Vec = r.split_whitespace( ).map( | s | + s.trim( ).parse::( ).unwrap( ) ).collect( ) ; + schedule.push( sub_schedule ) ; + } + } + let result : Vec = (0..60).filter( | &i | let_pass_one( i , &schedule ) ). + collect( ) ; + println!("{:?}" , result) ; + Ok(()) +} diff --git a/stats/pwc-challenge-273.json b/stats/pwc-challenge-273.json new file mode 100644 index 0000000000..18c95adf4d --- /dev/null +++ b/stats/pwc-challenge-273.json @@ -0,0 +1,722 @@ +{ + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 4, + "drilldown" : "Ali Moradi", + "name" : "Ali Moradi" + }, + { + "name" : "Andrew Schneider", + "y" : 3, + "drilldown" : "Andrew Schneider" + }, + { + "drilldown" : "Andrew Shitov", + "y" : 2, + "name" : "Andrew Shitov" + }, + { + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer", + "y" : 3 + }, + { + "y" : 4, + "drilldown" : "Athanasius", + "name" : "Athanasius" + }, + { + "name" : "BarrOff", + "drilldown" : "BarrOff", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "Bob Lied", + "name" : "Bob Lied" + }, + { + "y" : 4, + "drilldown" : "Bruce Gray", + "name" : "Bruce Gray" + }, + { + "name" : "Cheok-Yin Fung", + "y" : 2, + "drilldown" : "Cheok-Yin Fung" + }, + { + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "David Ferrone", + "name" : "David Ferrone" + }, + { + "name" : "E. Choroba", + "drilldown" : "E. Choroba", + "y" : 2 + }, + { + "name" : "Ian Goodnight", + "drilldown" : "Ian Goodnight", + "y" : 2 + }, + { + "y" : 5, + "drilldown" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas" + }, + { + "drilldown" : "Jan Krnavek", + "y" : 2, + "name" : "Jan Krnavek" + }, + { + "y" : 4, + "drilldown" : "Joelle Maslak", + "name" : "Joelle Maslak" + }, + { + "drilldown" : "Jorg Sommrey", + "y" : 3, + "name" : "Jorg Sommrey" + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 6 + }, + { + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari", + "y" : 11 + }, + { + "name" : "Mariano Spadaccini", + "drilldown" : "Mariano Spadaccini", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "name" : "Matthew Neleigh", + "y" : 2, + "drilldown" : "Matthew Neleigh" + }, + { + "name" : "Matthias Muth", + "drilldown" : "Matthias Muth", + "y" : 3 + }, + { + "name" : "Nelo Tovar", + "drilldown" : "Nelo Tovar", + "y" : 2 + }, + { + "drilldown" : "Niels van Dijke", + "y" : 2, + "name" : "Niels van Dijke" + }, + { + "name" : "Packy Anderson", + "drilldown" : "Packy Anderson", + "y" : 5 + }, + { + "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "Peter Meszaros", + "name" : "Peter Meszaros" + }, + { + "drilldown" : "Reinier Maliepaard", + "y" : 3, + "name" : "Reinier Maliepaard" + }, + { + "name" : "Robbie Hatley", + "drilldown" : "Robbie Hatley", + "y" : 3 + }, + { + "drilldown" : "Robert DiCicco", + "y" : 1, + "name" : "Robert DiCicco" + }, + { + "name" : "Robert Ransbottom", + "drilldown" : "Robert Ransbottom", + "y" : 2 + }, + { + "y" : 5, + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "name" : "Simon Green", + "y" : 3, + "drilldown" : "Simon Green" + }, + { + "name" : "Thomas Kohler", + "y" : 4, + "drilldown" : "Thomas Kohler" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan", + "y" : 3 + }, + { + "name" : "Wanderdoc", + "y" : 2, + "drilldown" : "Wanderdoc" + } + ], + "name" : "The Weekly Challenge - 273" + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, + "drilldown" : { + "series" : [ + { + "id" : "Ali Moradi", + "name" : "Ali Moradi", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { + "id" : "Andrew Schneider", + "name" : "Andrew Schneider", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Andrew Shitov", + "name" : "Andrew Shitov", + "data" : [ + [ + "Raku", + 2 + ] + ] + }, + { + "id" : "Arne Sommer", + "name" : "Arne Sommer", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Athanasius" + }, + { + "id" : "BarrOff", + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 2 + ] + ], + "name" : "BarrOff" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Bob Lied", + "id" : "Bob Lied" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Bruce Gray", + "id" : "Bruce Gray" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Dave Jacoby", + "id" : "Dave Jacoby" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "David Ferrone", + "id" : "David Ferrone" + }, + { + "name" : "E. Choroba", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "E. Choroba" + }, + { + "name" : "Ian Goodnight", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Ian Goodnight" + }, + { + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "name" : "Jan Krnavek", + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Jan Krnavek" + }, + { + "name" : "Joelle Maslak", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Joelle Maslak" + }, + { + "id" : "Jorg Sommrey", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Jorg Sommrey" + }, + { + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 2 + ] + ] + }, + { + "name" : "Luca Ferrari", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 9 + ] + ], + "id" : "Luca Ferrari" + }, + { + "id" : "Mariano Spadaccini", + "name" : "Mariano Spadaccini", + "data" : [ + [ + "Perl", + 2 + ] + ] + }, + { + "id" : "Mark Anderson", + "name" : "Mark Anderson", + "data" : [ + [ + "Raku", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Matthew Neleigh", + "id" : "Matthew Neleigh" + }, + { + "id" : "Matthias Muth", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Matthias Muth" + }, + { + "name" : "Nelo Tovar", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Nelo Tovar" + }, + { + "id" : "Niels van Dijke", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Niels van Dijke" + }, + { + "name" : "Packy Anderson", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Packy Anderson" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Peter Campbell Smith", + "id" : "Peter Campbell Smith" + }, + { + "id" : "Peter Meszaros", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Peter Meszaros" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Reinier Maliepaard", + "id" : "Reinier Maliepaard" + }, + { + "id" : "Robbie Hatley", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Robbie Hatley" + }, + { + "id" : "Robert DiCicco", + "name" : "Robert DiCicco", + "data" : [ + [ + "Perl", + 1 + ] + ] + }, + { + "name" : "Robert Ransbottom", + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Robert Ransbottom" + }, + { + "name" : "Roger Bell_West", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Roger Bell_West" + }, + { + "id" : "Simon Green", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Simon Green" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "name" : "Thomas Kohler", + "id" : "Thomas Kohler" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" + }, + { + "name" : "W. Luis Mochan", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "W. Luis Mochan" + }, + { + "id" : "Wanderdoc", + "name" : "Wanderdoc", + "data" : [ + [ + "Perl", + 2 + ] + ] + } + ] + }, + "title" : { + "text" : "The Weekly Challenge - 273" + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "subtitle" : { + "text" : "[Champions: 38] Last updated at 2024-06-18 19:21:36 GMT" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 05208946f7..3e258b1c03 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,177 +1,83 @@ { "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { "enabled" : 1, "format" : "{point.y}" - } + }, + "borderWidth" : 0 } }, - "title" : { - "text" : "The Weekly Challenge - 273" + "series" : [ + { + "name" : "The Weekly Challenge - 274", + "colorByPoint" : 1, + "data" : [ + { + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "E. Choroba", + "name" : "E. Choroba" + }, + { + "name" : "Mariano Spadaccini", + "y" : 1, + "drilldown" : "Mariano Spadaccini" + }, + { + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Peter Meszaros", + "name" : "Peter Meszaros" + }, + { + "drilldown" : "Roger Bell_West", + "y" : 4, + "name" : "Roger Bell_West" + }, + { + "name" : "Thomas Kohler", + "y" : 4, + "drilldown" : "Thomas Kohler" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + } + ] + } + ], + "xAxis" : { + "type" : "category" }, - "legend" : { - "enabled" : 0 + "subtitle" : { + "text" : "[Champions: 8] Last updated at 2024-06-18 19:27:27 GMT" }, "tooltip" : { "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "{series.name}
", - "followPointer" : 1 + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "legend" : { + "enabled" : 0 + }, + "chart" : { + "type" : "column" }, "drilldown" : { "series" : [ - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "name" : "Ali Moradi", - "id" : "Ali Moradi" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Andrew Schneider", - "name" : "Andrew Schneider" - }, - { - "data" : [ - [ - "Raku", - 2 - ] - ], - "id" : "Andrew Shitov", - "name" : "Andrew Shitov" - }, - { - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Arne Sommer", - "id" : "Arne Sommer" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "id" : "Athanasius", - "name" : "Athanasius" - }, - { - "data" : [ - [ - "Perl", - 1 - ], - [ - "Raku", - 2 - ] - ], - "name" : "BarrOff", - "id" : "BarrOff" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "name" : "Bob Lied", - "id" : "Bob Lied" - }, - { - "id" : "Bruce Gray", - "name" : "Bruce Gray", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ] - }, - { - "name" : "Cheok-Yin Fung", - "id" : "Cheok-Yin Fung", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, { "name" : "Dave Jacoby", "id" : "Dave Jacoby", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ] - }, - { - "name" : "David Ferrone", - "id" : "David Ferrone", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "name" : "E. Choroba", - "id" : "E. Choroba", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "id" : "Ian Goodnight", - "name" : "Ian Goodnight", "data" : [ [ "Perl", @@ -184,275 +90,55 @@ [ "Perl", 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 ] ], - "id" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas" - }, - { - "data" : [ - [ - "Raku", - 2 - ] - ], - "id" : "Jan Krnavek", - "name" : "Jan Krnavek" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "name" : "Joelle Maslak", - "id" : "Joelle Maslak" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 2 - ] - ], - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" - }, - { - "id" : "Luca Ferrari", - "name" : "Luca Ferrari", - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 9 - ] - ] + "id" : "E. Choroba", + "name" : "E. Choroba" }, { - "data" : [ - [ - "Perl", - 2 - ] - ], "name" : "Mariano Spadaccini", - "id" : "Mariano Spadaccini" - }, - { - "data" : [ - [ - "Raku", - 2 - ] - ], - "name" : "Mark Anderson", - "id" : "Mark Anderson" - }, - { - "name" : "Matthew Neleigh", - "id" : "Matthew Neleigh", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "id" : "Matthias Muth", - "name" : "Matthias Muth", + "id" : "Mariano Spadaccini", "data" : [ [ "Perl", - 2 - ], - [ - "Blog", 1 ] ] }, - { - "id" : "Nelo Tovar", - "name" : "Nelo Tovar", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, - { - "id" : "Niels van Dijke", - "name" : "Niels van Dijke", - "data" : [ - [ - "Perl", - 2 - ] - ] - }, { "data" : [ - [ - "Perl", - 2 - ], [ "Raku", 2 - ], - [ - "Blog", - 1 ] ], - "id" : "Packy Anderson", - "name" : "Packy Anderson" - }, - { - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith", - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ] + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "data" : [ - [ - "Perl", - 2 - ] - ], + "id" : "Peter Meszaros", "name" : "Peter Meszaros", - "id" : "Peter Meszaros" - }, - { - "name" : "Reinier Maliepaard", - "id" : "Reinier Maliepaard", "data" : [ [ "Perl", 2 - ], - [ - "Blog", - 1 ] ] }, { - "id" : "Robbie Hatley", - "name" : "Robbie Hatley", "data" : [ [ "Perl", 2 ], - [ - "Blog", - 1 - ] - ] - }, - { - "id" : "Robert DiCicco", - "name" : "Robert DiCicco", - "data" : [ - [ - "Perl", - 1 - ] - ] - }, - { - "name" : "Robert Ransbottom", - "id" : "Robert Ransbottom", - "data" : [ [ "Raku", 2 ] - ] - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] ], "name" : "Roger Bell_West", "id" : "Roger Bell_West" }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Simon Green", - "id" : "Simon Green" - }, { "data" : [ [ @@ -464,12 +150,12 @@ 2 ] ], - "id" : "Thomas Kohler", - "name" : "Thomas Kohler" + "name" : "Thomas Kohler", + "id" : "Thomas Kohler" }, { - "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -480,239 +166,11 @@ 2 ] ] - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Wanderdoc", - "name" : "Wanderdoc" } ] }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, - "series" : [ - { - "name" : "The Weekly Challenge - 273", - "colorByPoint" : 1, - "data" : [ - { - "name" : "Ali Moradi", - "y" : 4, - "drilldown" : "Ali Moradi" - }, - { - "name" : "Andrew Schneider", - "y" : 3, - "drilldown" : "Andrew Schneider" - }, - { - "y" : 2, - "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" - }, - { - "drilldown" : "Arne Sommer", - "y" : 3, - "name" : "Arne Sommer" - }, - { - "name" : "Athanasius", - "y" : 4, - "drilldown" : "Athanasius" - }, - { - "drilldown" : "BarrOff", - "name" : "BarrOff", - "y" : 3 - }, - { - "name" : "Bob Lied", - "y" : 2, - "drilldown" : "Bob Lied" - }, - { - "name" : "Bruce Gray", - "y" : 4, - "drilldown" : "Bruce Gray" - }, - { - "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", - "y" : 2 - }, - { - "drilldown" : "Dave Jacoby", - "y" : 3, - "name" : "Dave Jacoby" - }, - { - "y" : 2, - "name" : "David Ferrone", - "drilldown" : "David Ferrone" - }, - { - "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" - }, - { - "name" : "Ian Goodnight", - "y" : 2, - "drilldown" : "Ian Goodnight" - }, - { - "y" : 5, - "name" : "Jaldhar H. Vyas", - "drilldown" : "Jaldhar H. Vyas" - }, - { - "drilldown" : "Jan Krnavek", - "name" : "Jan Krnavek", - "y" : 2 - }, - { - "name" : "Joelle Maslak", - "y" : 4, - "drilldown" : "Joelle Maslak" - }, - { - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey", - "y" : 3 - }, - { - "name" : "Laurent Rosenfeld", - "y" : 6, - "drilldown" : "Laurent Rosenfeld" - }, - { - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari", - "y" : 11 - }, - { - "drilldown" : "Mariano Spadaccini", - "y" : 2, - "name" : "Mariano Spadaccini" - }, - { - "name" : "Mark Anderson", - "y" : 2, - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Matthew Neleigh", - "name" : "Matthew Neleigh", - "y" : 2 - }, - { - "name" : "Matthias Muth", - "y" : 3, - "drilldown" : "Matthias Muth" - }, - { - "name" : "Nelo Tovar", - "y" : 2, - "drilldown" : "Nelo Tovar" - }, - { - "drilldown" : "Niels van Dijke", - "y" : 2, - "name" : "Niels van Dijke" - }, - { - "drilldown" : "Packy Anderson", - "y" : 5, - "name" : "Packy Anderson" - }, - { - "drilldown" : "Peter Campbell Smith", - "y" : 3, - "name" : "Peter Campbell Smith" - }, - { - "drilldown" : "Peter Meszaros", - "y" : 2, - "name" : "Peter Meszaros" - }, - { - "drilldown" : "Reinier Maliepaard", - "name" : "Reinier Maliepaard", - "y" : 3 - }, - { - "name" : "Robbie Hatley", - "y" : 3, - "drilldown" : "Robbie Hatley" - }, - { - "drilldown" : "Robert DiCicco", - "y" : 1, - "name" : "Robert DiCicco" - }, - { - "drilldown" : "Robert Ransbottom", - "name" : "Robert Ransbottom", - "y" : 2 - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 5 - }, - { - "name" : "Simon Green", - "y" : 3, - "drilldown" : "Simon Green" - }, - { - "name" : "Thomas Kohler", - "y" : 4, - "drilldown" : "Thomas Kohler" - }, - { - "y" : 4, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - }, - { - "name" : "W. Luis Mochan", - "y" : 3, - "drilldown" : "W. Luis Mochan" - }, - { - "drilldown" : "Wanderdoc", - "name" : "Wanderdoc", - "y" : 2 - } - ] - } - ], - "subtitle" : { - "text" : "[Champions: 38] Last updated at 2024-06-16 23:04:25 GMT" + "title" : { + "text" : "The Weekly Challenge - 274" }, "yAxis" : { "title" : { diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index a45390264b..4f2aa85ff0 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -2,62 +2,62 @@ "chart" : { "type" : "column" }, + "subtitle" : { + "text" : "Last updated at 2024-06-18 19:27:27 GMT" + }, "tooltip" : { "pointFormat" : "{point.y:.0f}" }, "legend" : { "enabled" : "false" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2024]" - }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 + } }, - "subtitle" : { - "text" : "Last updated at 2024-06-16 23:04:25 GMT" + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2024]" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" }, "series" : [ { - "name" : "Contributions", "data" : [ [ "Blog", - 4970 + 4972 ], [ "Perl", - 14164 + 14177 ], [ "Raku", - 8212 + 8218 ] ], + "name" : "Contributions", "dataLabels" : { + "y" : 10, "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" }, - "color" : "#FFFFFF", - "align" : "right", "enabled" : "true", "format" : "{point.y:.0f}", + "align" : "right", "rotation" : -90, - "y" : 10 + "color" : "#FFFFFF" } } - ], - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 0a99362b78..cb9c526491 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,37 +1,41 @@ { + "xAxis" : { + "type" : "category" + }, "series" : [ { "colorByPoint" : "true", + "name" : "The Weekly Challenge Languages", "data" : [ { - "name" : "#001", "y" : 168, - "drilldown" : "001" + "drilldown" : "001", + "name" : "#001" }, { "name" : "#002", - "y" : 133, - "drilldown" : "002" + "drilldown" : "002", + "y" : 133 }, { - "y" : 91, "name" : "#003", + "y" : 91, "drilldown" : "003" }, { "y" : 106, - "name" : "#004", - "drilldown" : "004" + "drilldown" : "004", + "name" : "#004" }, { "drilldown" : "005", - "name" : "#005", - "y" : 82 + "y" : 82, + "name" : "#005" }, { + "y" : 63, "drilldown" : "006", - "name" : "#006", - "y" : 63 + "name" : "#006" }, { "name" : "#007", @@ -45,33 +49,33 @@ }, { "name" : "#009", - "y" : 82, - "drilldown" : "009" + "drilldown" : "009", + "y" : 82 }, { - "name" : "#010", "y" : 71, - "drilldown" : "010" + "drilldown" : "010", + "name" : "#010" }, { - "name" : "#011", "y" : 91, - "drilldown" : "011" + "drilldown" : "011", + "name" : "#011" }, { + "drilldown" : "012", "y" : 96, - "name" : "#012", - "drilldown" : "012" + "name" : "#012" }, { "y" : 88, - "name" : "#013", - "drilldown" : "013" + "drilldown" : "013", + "name" : "#013" }, { - "y" : 104, "name" : "#014", - "drilldown" : "014" + "drilldown" : "014", + "y" : 104 }, { "name" : "#015", @@ -79,23 +83,23 @@ "drilldown" : "015" }, { - "drilldown" : "016", "name" : "#016", - "y" : 75 + "y" : 75, +