From 153f22e7dc6b1860d8561da89efeeefdfa83eab9 Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Tue, 5 Aug 2025 11:55:34 +0100 Subject: - Added solutions by Lukas Mai. - Added solutions by E. Choroba. --- challenge-333/conor-hoekstra/bqn/ch-1.bqn | 13 + challenge-333/conor-hoekstra/bqn/ch-2.bqn | 19 + challenge-333/conor-hoekstra/ch-1.bqn | 13 - challenge-333/conor-hoekstra/ch-2.bqn | 19 - challenge-333/eric-cheung/python/ch-1.py | 26 ++ challenge-333/eric-cheung/python/ch-2.py | 17 + challenge-333/ulrich-rieke/cpp/ch-1.cpp | 47 +++ challenge-333/ulrich-rieke/cpp/ch-2.cpp | 39 ++ challenge-333/ulrich-rieke/haskell/ch-1.hs | 36 ++ challenge-333/ulrich-rieke/haskell/ch-2.hs | 13 + challenge-333/ulrich-rieke/perl/ch-1.pl | 43 +++ challenge-333/ulrich-rieke/perl/ch-2.pl | 21 + challenge-333/ulrich-rieke/raku/ch-1.raku | 27 ++ challenge-333/ulrich-rieke/raku/ch-2.raku | 17 + challenge-333/ulrich-rieke/rust/ch-1.rs | 35 ++ challenge-333/ulrich-rieke/rust/ch-2.rs | 22 ++ stats/pwc-challenge-332.json | 593 +++++++++++++++++++++++++++++ stats/pwc-current.json | 336 +--------------- stats/pwc-language-breakdown-2019.json | 2 +- stats/pwc-language-breakdown-2020.json | 2 +- stats/pwc-language-breakdown-2021.json | 2 +- stats/pwc-language-breakdown-2022.json | 2 +- stats/pwc-language-breakdown-2023.json | 2 +- stats/pwc-language-breakdown-2024.json | 2 +- stats/pwc-language-breakdown-2025.json | 25 +- stats/pwc-language-breakdown-summary.json | 8 +- stats/pwc-leaders.json | 82 ++-- stats/pwc-summary-1-30.json | 8 +- stats/pwc-summary-121-150.json | 2 +- stats/pwc-summary-151-180.json | 8 +- stats/pwc-summary-181-210.json | 4 +- stats/pwc-summary-211-240.json | 8 +- stats/pwc-summary-241-270.json | 2 +- stats/pwc-summary-271-300.json | 4 +- stats/pwc-summary-301-330.json | 10 +- stats/pwc-summary-31-60.json | 4 +- stats/pwc-summary-61-90.json | 8 +- stats/pwc-summary-91-120.json | 2 +- stats/pwc-summary.json | 40 +- stats/pwc-yearly-language-summary.json | 10 +- 40 files changed, 1101 insertions(+), 472 deletions(-) create mode 100644 challenge-333/conor-hoekstra/bqn/ch-1.bqn create mode 100644 challenge-333/conor-hoekstra/bqn/ch-2.bqn delete mode 100644 challenge-333/conor-hoekstra/ch-1.bqn delete mode 100644 challenge-333/conor-hoekstra/ch-2.bqn create mode 100755 challenge-333/eric-cheung/python/ch-1.py create mode 100755 challenge-333/eric-cheung/python/ch-2.py create mode 100755 challenge-333/ulrich-rieke/cpp/ch-1.cpp create mode 100755 challenge-333/ulrich-rieke/cpp/ch-2.cpp create mode 100755 challenge-333/ulrich-rieke/haskell/ch-1.hs create mode 100755 challenge-333/ulrich-rieke/haskell/ch-2.hs create mode 100755 challenge-333/ulrich-rieke/perl/ch-1.pl create mode 100755 challenge-333/ulrich-rieke/perl/ch-2.pl create mode 100755 challenge-333/ulrich-rieke/raku/ch-1.raku create mode 100755 challenge-333/ulrich-rieke/raku/ch-2.raku create mode 100755 challenge-333/ulrich-rieke/rust/ch-1.rs create mode 100755 challenge-333/ulrich-rieke/rust/ch-2.rs create mode 100644 stats/pwc-challenge-332.json diff --git a/challenge-333/conor-hoekstra/bqn/ch-1.bqn b/challenge-333/conor-hoekstra/bqn/ch-1.bqn new file mode 100644 index 0000000000..95dfaa217b --- /dev/null +++ b/challenge-333/conor-hoekstra/bqn/ch-1.bqn @@ -0,0 +1,13 @@ +# For up to date code: +# https://github.com/codereport/bqn-code/blob/main/pwc/333-1.bqn + +u ⇐ •Import "/home/cph/bqn-test/test.bqn" + +StraightLine ← { ∧´≡´¨(⌽-´2↑𝕩)⊸ר(⊑𝕩)⊸-¨(1↓𝕩) } + +# Tests +u.UnitTest (StraightLine ⟨⟨2, 1⟩, ⟨2, 3⟩, ⟨2, 5⟩⟩) ≡ 1 +u.UnitTest (StraightLine ⟨⟨1, 4⟩, ⟨3, 4⟩, ⟨10, 4⟩⟩) ≡ 1 +u.UnitTest (StraightLine ⟨⟨0, 0⟩, ⟨1, 1⟩, ⟨2, 3⟩⟩) ≡ 0 +u.UnitTest (StraightLine ⟨⟨1, 1⟩, ⟨1, 1⟩, ⟨1, 1⟩⟩) ≡ 1 +u.UnitTest (StraightLine ⟨⟨1000000, 1000000⟩, ⟨2000000, 2000000⟩, ⟨3000000, 3000000⟩⟩) ≡ 1 diff --git a/challenge-333/conor-hoekstra/bqn/ch-2.bqn b/challenge-333/conor-hoekstra/bqn/ch-2.bqn new file mode 100644 index 0000000000..9e1c5a24bf --- /dev/null +++ b/challenge-333/conor-hoekstra/bqn/ch-2.bqn @@ -0,0 +1,19 @@ +# For up to date code: +# https://github.com/codereport/bqn-code/blob/main/pwc/333-2.bqn + +u ⇐ •Import "/home/cph/bqn-test/test.bqn" + +DuplicateZeros ← { (≠𝕩)↑𝕩/˜1+0=𝕩 } # Explicit +DuplicateZeros2 ← ≠↑(1+0=⊢)⊸/ # Tacit + +# Tests +u.UnitTest (DuplicateZeros ⟨1, 0, 2, 3, 0, 4, 5, 0⟩) ≡ ⟨1, 0, 0, 2, 3, 0, 0, 4⟩ +u.UnitTest (DuplicateZeros ⟨1, 2, 3⟩) ≡ ⟨1, 2, 3⟩ +u.UnitTest (DuplicateZeros ⟨1, 2, 3, 0⟩) ≡ ⟨1, 2, 3, 0⟩ +u.UnitTest (DuplicateZeros ⟨0, 0, 1, 2⟩) ≡ ⟨0, 0, 0, 0⟩ +u.UnitTest (DuplicateZeros ⟨1, 2, 0, 3, 4⟩) ≡ ⟨1, 2, 0, 0, 3⟩ +u.UnitTest (DuplicateZeros2 ⟨1, 0, 2, 3, 0, 4, 5, 0⟩) ≡ ⟨1, 0, 0, 2, 3, 0, 0, 4⟩ +u.UnitTest (DuplicateZeros2 ⟨1, 2, 3⟩) ≡ ⟨1, 2, 3⟩ +u.UnitTest (DuplicateZeros2 ⟨1, 2, 3, 0⟩) ≡ ⟨1, 2, 3, 0⟩ +u.UnitTest (DuplicateZeros2 ⟨0, 0, 1, 2⟩) ≡ ⟨0, 0, 0, 0⟩ +u.UnitTest (DuplicateZeros2 ⟨1, 2, 0, 3, 4⟩) ≡ ⟨1, 2, 0, 0, 3⟩ diff --git a/challenge-333/conor-hoekstra/ch-1.bqn b/challenge-333/conor-hoekstra/ch-1.bqn deleted file mode 100644 index 95dfaa217b..0000000000 --- a/challenge-333/conor-hoekstra/ch-1.bqn +++ /dev/null @@ -1,13 +0,0 @@ -# For up to date code: -# https://github.com/codereport/bqn-code/blob/main/pwc/333-1.bqn - -u ⇐ •Import "/home/cph/bqn-test/test.bqn" - -StraightLine ← { ∧´≡´¨(⌽-´2↑𝕩)⊸ר(⊑𝕩)⊸-¨(1↓𝕩) } - -# Tests -u.UnitTest (StraightLine ⟨⟨2, 1⟩, ⟨2, 3⟩, ⟨2, 5⟩⟩) ≡ 1 -u.UnitTest (StraightLine ⟨⟨1, 4⟩, ⟨3, 4⟩, ⟨10, 4⟩⟩) ≡ 1 -u.UnitTest (StraightLine ⟨⟨0, 0⟩, ⟨1, 1⟩, ⟨2, 3⟩⟩) ≡ 0 -u.UnitTest (StraightLine ⟨⟨1, 1⟩, ⟨1, 1⟩, ⟨1, 1⟩⟩) ≡ 1 -u.UnitTest (StraightLine ⟨⟨1000000, 1000000⟩, ⟨2000000, 2000000⟩, ⟨3000000, 3000000⟩⟩) ≡ 1 diff --git a/challenge-333/conor-hoekstra/ch-2.bqn b/challenge-333/conor-hoekstra/ch-2.bqn deleted file mode 100644 index 9e1c5a24bf..0000000000 --- a/challenge-333/conor-hoekstra/ch-2.bqn +++ /dev/null @@ -1,19 +0,0 @@ -# For up to date code: -# https://github.com/codereport/bqn-code/blob/main/pwc/333-2.bqn - -u ⇐ •Import "/home/cph/bqn-test/test.bqn" - -DuplicateZeros ← { (≠𝕩)↑𝕩/˜1+0=𝕩 } # Explicit -DuplicateZeros2 ← ≠↑(1+0=⊢)⊸/ # Tacit - -# Tests -u.UnitTest (DuplicateZeros ⟨1, 0, 2, 3, 0, 4, 5, 0⟩) ≡ ⟨1, 0, 0, 2, 3, 0, 0, 4⟩ -u.UnitTest (DuplicateZeros ⟨1, 2, 3⟩) ≡ ⟨1, 2, 3⟩ -u.UnitTest (DuplicateZeros ⟨1, 2, 3, 0⟩) ≡ ⟨1, 2, 3, 0⟩ -u.UnitTest (DuplicateZeros ⟨0, 0, 1, 2⟩) ≡ ⟨0, 0, 0, 0⟩ -u.UnitTest (DuplicateZeros ⟨1, 2, 0, 3, 4⟩) ≡ ⟨1, 2, 0, 0, 3⟩ -u.UnitTest (DuplicateZeros2 ⟨1, 0, 2, 3, 0, 4, 5, 0⟩) ≡ ⟨1, 0, 0, 2, 3, 0, 0, 4⟩ -u.UnitTest (DuplicateZeros2 ⟨1, 2, 3⟩) ≡ ⟨1, 2, 3⟩ -u.UnitTest (DuplicateZeros2 ⟨1, 2, 3, 0⟩) ≡ ⟨1, 2, 3, 0⟩ -u.UnitTest (DuplicateZeros2 ⟨0, 0, 1, 2⟩) ≡ ⟨0, 0, 0, 0⟩ -u.UnitTest (DuplicateZeros2 ⟨1, 2, 0, 3, 4⟩) ≡ ⟨1, 2, 0, 0, 3⟩ diff --git a/challenge-333/eric-cheung/python/ch-1.py b/challenge-333/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..59ee932762 --- /dev/null +++ b/challenge-333/eric-cheung/python/ch-1.py @@ -0,0 +1,26 @@ + +import numpy as np + +def GetSlope (arrPt_1, arrPt_2): + dX1, dY1 = arrPt_1 + dX2, dY2 = arrPt_2 + + if dX1 == dX2: + return np.nan + + return (dY2 - dY1) / (dX2 - dX1) + +## arrList = [[2, 1], [2, 3], [2, 5]] ## Example 1 +## arrList = [[1, 4], [3, 4], [10, 4]] ## Example 2 +## arrList = [[0, 0], [1, 1], [2, 3]] ## Example 3 +## arrList = [[1, 1], [1, 1], [1, 1]] ## Example 4 +arrList = [[1000000, 1000000], [2000000, 2000000], [3000000, 3000000]] ## Example 5 + +arrX = [arrLoop[0] for arrLoop in arrList] +arrY = [arrLoop[1] for arrLoop in arrList] + +if len(set(arrX)) == 1 or len(set(arrY)) == 1: + print (True) +else: + arrSlope = [GetSlope(arrList[nIndx - 1], arrList[nIndx]) for nIndx in range(1, len(arrList))] + print (len(set(arrSlope)) == 1) diff --git a/challenge-333/eric-cheung/python/ch-2.py b/challenge-333/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..7e96b1df40 --- /dev/null +++ b/challenge-333/eric-cheung/python/ch-2.py @@ -0,0 +1,17 @@ + +## arrInt = [1, 0, 2, 3, 0, 4, 5, 0] ## Example 1 +## arrInt = [1, 2, 3] ## Example 2 +## arrInt = [1, 2, 3, 0] ## Example 3 +## arrInt = [0, 0, 1, 2] ## Example 4 +arrInt = [1, 2, 0, 3, 4] ## Example 5 + +arrOut = arrInt[:] + +arrZeroPos = [nPos for nPos, nElem in enumerate(arrInt) if nElem == 0] + +if len(arrZeroPos) == 0: + print (arrOut) +else: + for nPos in arrZeroPos[::-1]: + arrOut.insert(nPos, 0) + print (arrOut[:len(arrInt)]) diff --git a/challenge-333/ulrich-rieke/cpp/ch-1.cpp b/challenge-333/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..dff850ba55 --- /dev/null +++ b/challenge-333/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,47 @@ +#include +#include +#include +#include +#include +#include +using namespace std::string_literals ; + +bool on_straight_line( const std::vector> & coords ) { + int first_x = coords[0].first ; + int first_y = coords[0].second ; + if ( std::all_of( coords.begin( ) , coords.end( ) , [first_x]( auto p ) { + return p.first == first_x ; } ) || std::all_of( coords.begin( ) , + coords.end( ) , [first_y]( auto b ) { return b.second == + first_y ; })) + return true ; + else { + double slope_one = (static_cast(coords[1].second) - + static_cast(coords[0].second )) / (static_cast( + coords[1].first) - static_cast(coords[0].first )) ; + double slope_two = (static_cast(coords[2].second) - + static_cast(coords[1].second )) / (static_cast( + coords[2].first) - static_cast(coords[1].first )) ; + return slope_one == slope_two ; + } +} + +int main( ) { + std::cout << "Enter 3 coordinates in brackets!\n" ; + std::string inputline ; + std::getline( std::cin , inputline ) ; + auto pattern {R"(\d+)"s} ; + auto re = std::regex { pattern } ; + std::vector> coordinates ; + std::vector numbers ; + auto end = std::sregex_token_iterator{} ; + for ( auto it = std::sregex_token_iterator { std::begin( inputline ) , + std::end( inputline ) , re } ; it != end ; ++it ) { + numbers.push_back( *it ) ; + } + for ( int i = 0 ; i < numbers.size( ) - 1 ; i += 2) { + coordinates.push_back( std::make_pair( std::stoi( numbers[i] ) , + std::stoi( numbers[i + 1] ) )) ; + } + std::cout << std::boolalpha << on_straight_line( coordinates ) << '\n' ; + return 0 ; +} diff --git a/challenge-333/ulrich-rieke/cpp/ch-2.cpp b/challenge-333/ulrich-rieke/cpp/ch-2.cpp new file mode 100755 index 0000000000..2894348b28 --- /dev/null +++ b/challenge-333/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,39 @@ +#include +#include +#include +#include + +std::vector split( const std::string & text , char delimiter ) { + std::vector tokens ; + std::istringstream istr { text } ; + std::string word ; + while ( std::getline( istr , word , delimiter ) ) + tokens.push_back( word ) ; + return tokens ; +} + +int main( ) { + std::cout << "Enter some integers separated by whitespace!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + auto tokens { split( line , ' ' ) } ; + std::vector numbers ; + for ( auto s : tokens ) + numbers.push_back( std::stoi( s ) ) ; + std::vector afterDoubling ; + for ( auto it = numbers.begin( ) ; it != numbers.end( ) ; ++it ) { + if ( *it == 0 ) { + afterDoubling.push_back( 0 ) ; + afterDoubling.push_back( 0 ) ; + } + else + afterDoubling.push_back( *it ) ; + } + std::cout << "( " ; + for ( int i = 0 ; i < numbers.size( ) ; i++ ) { + std::cout << afterDoubling[i] << ' ' ; + } + std::cout << ")\n" ; + return 0 ; +} + diff --git a/challenge-333/ulrich-rieke/haskell/ch-1.hs b/challenge-333/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..8100b4a2fb --- /dev/null +++ b/challenge-333/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,36 @@ +module Challenge333 + where +import Data.Char( isDigit ) +import Data.List.Split ( chunksOf ) +import Data.List ( (!!) ) + +parseEntryLine :: String -> [(Int , Int)] +parseEntryLine line = + let parts = words line + numbers = map (filter isDigit ) parts + relevant = filter ( not . null ) numbers + nums = map read relevant + coords = chunksOf 2 nums + in map (\subli -> (head subli , last subli) ) coords + +onStraightLine :: [(Int , Int)] -> Bool +onStraightLine coordinates = all (\p -> fst p == ( fst $ head coordinates )) + coordinates || all (\p -> snd p == ( snd $ head coordinates )) coordinates || + slopeOne == slopeTwo + where + slopeOne :: Double + slopeOne = (( fromIntegral $ snd ( coordinates !! 1 ) ) - ( fromIntegral $ + snd ( coordinates !! 0 ) )) / (( fromIntegral $ fst ( coordinates !! 1 )) - + (fromIntegral $ fst ( coordinates !! 0 ) ) ) + slopeTwo = (( fromIntegral $ snd ( coordinates !! 2 ) ) - ( fromIntegral $ + snd ( coordinates !! 1 ) )) / (( fromIntegral $ fst ( coordinates !! 2 )) - + (fromIntegral $ fst ( coordinates !! 1 ) ) ) + +main :: IO ( ) +main = do + putStrLn "Enter some coordinates in brackets separated by comma and space!" + numberLine <- getLine + print $ onStraightLine $ parseEntryLine numberLine + + + diff --git a/challenge-333/ulrich-rieke/haskell/ch-2.hs b/challenge-333/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..0927419ce5 --- /dev/null +++ b/challenge-333/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,13 @@ +module Challenge333_2 + where + +solution :: [Int] -> [Int] +solution list = take ( length list ) $ foldl1 ( ++ ) $ map (\i -> if i == 0 + then replicate 2 0 else [i] ) list + + +main :: IO ( ) +main = do + putStrLn "Enter some integers separated by whitespace!" + numberline <- getLine + print $ solution $ map read $ words numberline diff --git a/challenge-333/ulrich-rieke/perl/ch-1.pl b/challenge-333/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..89e0b9769e --- /dev/null +++ b/challenge-333/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +say "Enter some coordinates in brackets!" ; +my $line = ; +chomp $line ; +my @parts = split( /\]\s*\,\s*\[/ , $line ) ; +my @pairs ; +for my $pair( @parts ) { + if ( $pair =~ /(\d+)\s*\,\s*(\d+)/ ) { + push( @pairs , [$1 , $2] ) ; + } +} +if ( on_straight_line(\@pairs)) { + say "true" ; +} +else { + say "false" ; +} + +sub on_straight_line { + my $coords = shift ; + if (($coords->[1]->[1] == $coords->[0]->[1] && $coords->[2]->[1] == + $coords->[1]->[1] ) || ( $coords->[1]->[0] == $coords->[0]->[0] && + $coords->[2]->[0] == $coords->[1]->[0] )) { + return 1 ; + } + else { + my $slope_one = ($coords->[1]->[1] - $coords->[0]->[1] ) / + ($coords->[1]->[0] - $coords->[0]->[0] ) ; + my $slope_two = ( $coords->[2]->[1] - $coords->[1]->[1] ) / ( + $coords->[2]->[0] - $coords->[1]->[0] ) ; + if ( $slope_one == $slope_two ) { + return 1 ; + } + else { + return 0 ; + } + } +} + diff --git a/challenge-333/ulrich-rieke/perl/ch-2.pl b/challenge-333/ulrich-rieke/perl/ch-2.pl new file mode 100755 index 0000000000..9a91827e69 --- /dev/null +++ b/challenge-333/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +say "Enter some integers separated by whitespace!" ; +my $line = ; +chomp $line ; +my @numbers = split( /\s+/ , $line ) ; +my @after_doubling ; +my $len = scalar( @numbers ) ; +for my $n ( @numbers ) { + if ( $n == 0 ) { + push( @after_doubling , 0 ) ; + push( @after_doubling , 0 ) ; + } + else { + push( @after_doubling , $n ) ; + } +} +say join( ',' , @after_doubling[0..$len - 1] ) ; diff --git a/challenge-333/ulrich-rieke/raku/ch-1.raku b/challenge-333/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..e713d999d9 --- /dev/null +++ b/challenge-333/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,27 @@ +use v6 ; + +say "Enter 3 coordinate pairs in brackets!" ; +my $line = $*IN.get ; +my @pairs ; +my @parts = $line.split( /\] ',' \s+\[/ ) ; +for @parts -> $pair { + if ($pair ~~ /(\d+)\s* ',' \s* (\d+) / ) { + my $numberpair = [+$0 , +$1] ; + @pairs.push( $numberpair ) ; + } +} +say on_straight_line( @pairs ) ; + +sub on_straight_line( @numbers ) { + if (@numbers[0][0] == @numbers[1][0] && @numbers[1][0] == @numbers[2][0] || + @numbers[0][1] == @numbers[1][1] && @numbers[1][1] == @numbers[2][1] ) { + return True ; + } + else { + my $slope_one = (@numbers[1][1] - @numbers[0][1]) / (@numbers[1][0] - + @numbers[0][0] ) ; + my $slope_two = (@numbers[2][1] - @numbers[1][1] ) / (@numbers[2][0] - + @numbers[1][0] ) ; + return $slope_one == $slope_two ; + } +} diff --git a/challenge-333/ulrich-rieke/raku/ch-2.raku b/challenge-333/ulrich-rieke/raku/ch-2.raku new file mode 100755 index 0000000000..ae856c1613 --- /dev/null +++ b/challenge-333/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,17 @@ +use v6 ; + +say "Enter some integers separated by whitespace!" ; +my $line = $*IN.get ; +my @numbers = $line.words.map( {.Int} ) ; +my @after_doubling ; +for @numbers -> $n { + if ( $n == 0 ) { + @after_doubling.push( 0 ) ; + @after_doubling.push( 0 ) ; + } + else { + @after_doubling.push( $n ) ; + } +} +my $len = @numbers.elems ; +say @after_doubling[0..$len - 1].join( ',' ) ; diff --git a/challenge-333/ulrich-rieke/rust/ch-1.rs b/challenge-333/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..7a6096aad0 --- /dev/null +++ b/challenge-333/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,35 @@ +use std::io ; +use regex::Regex ; + +fn parse_pair( bracket : &str ) -> (i32 , i32) { + let re = Regex::new( r"([0-9]+)").unwrap( ) ; + let numbers : Vec = re.find_iter( bracket ).map( |m| { + let found = m.as_str( ) ; + let num : i32 = found.parse::( ).unwrap( ) ; + num + }).collect( ) ; + (numbers[0] , numbers[1]) +} + +fn on_straight_line( points : Vec<(i32 , i32)> ) -> bool { + points.iter( ).all( |p| p.0 == points[0].0 || p.1 == points[0].1 ) || + { let first_slope : f32 = ((points[1].1 as f32) - (points[0].1 as f32)) / + ((points[1].0 as f32) - (points[0].0 as f32 )) ; + let second_slope : f32 = ((points[2].1 as f32 ) - (points[1].1 as f32 )) / + ((points[2].0 as f32) - ( points[1].0 as f32 ) ) ; + first_slope == second_slope + } +} + +fn main() { + println!("Enter 3 coordinates as a pair of integers in brackets!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let re = Regex::new( r"\[\s*([0-9]+)\s*\,\s*([0-9]+)\]").unwrap( ) ; + let trimmed = inline.trim( ) ; + let parts : Vec<&str> = re.find_iter(trimmed).map( |m| m.as_str( )). + collect( ) ; + let coordinates : Vec<(i32 , i32)> = parts.into_iter( ).map( |s| + parse_pair( s ) ).collect( ) ; + println!("{}" , on_straight_line( coordinates ) ) ; +} diff --git a/challenge-333/ulrich-rieke/rust/ch-2.rs b/challenge-333/ulrich-rieke/rust/ch-2.rs new file mode 100755 index 0000000000..97b83455dd --- /dev/null +++ b/challenge-333/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,22 @@ +use std::io ; + +fn main() { + println!("Enter some integers separated by blanks!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let numbers : Vec = inline.trim( ).split_whitespace( ).map( |s| + s.parse::( ).unwrap( )).collect( ) ; + let mut after_doubling : Vec = Vec::new( ) ; + let len : usize = numbers.len( ) ; + for n in numbers { + if n == 0 { + after_doubling.push( 0 ) ; + after_doubling.push( 0 ) ; + } + else { + after_doubling.push( n ) ; + } + } + println!("{:?}" , after_doubling.into_iter( ).take( len ). + collect::>( ) ) ; +} diff --git a/stats/pwc-challenge-332.json b/stats/pwc-challenge-332.json new file mode 100644 index 0000000000..5176d0ef61 --- /dev/null +++ b/stats/pwc-challenge-332.json @@ -0,0 +1,593 @@ +{ + "chart" : { + "type" : "column" + }, + "drilldown" : { + "series" : [ + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Ali Moradi", + "name" : "Ali Moradi" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Andrew Shitov", + "name" : "Andrew Shitov" + }, + { + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Athanasius", + "name" : "Athanasius" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "BarrOff", + "name" : "BarrOff" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Bob Lied", + "name" : "Bob Lied" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "David Ferrone", + "name" : "David Ferrone" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "E. Choroba", + "name" : "E. Choroba" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Feng Chang", + "name" : "Feng Chang" + }, + { + "data" : [ + [ + "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 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey" + }, + { + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 10 + ] + ], + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Matthias Muth", + "name" : "Matthias Muth" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "mauke", + "name" : "mauke" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Packy Anderson", + "name" : "Packy Anderson" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Peter Meszaros", + "name" : "Peter Meszaros" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Robbie Hatley", + "name" : "Robbie Hatley" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Robert Ransbottom", + "name" : "Robert Ransbottom" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Simon Green", + "name" : "Simon Green" + }, + { + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Simon Proctor", + "name" : "Simon Proctor" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Solathian", + "name" : "Solathian" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "id" : "Thomas Kohler", + "name" : "Thomas Kohler" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Wanderdoc", + "name" : "Wanderdoc" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Yitzchak Scott-Thoennes", + "name" : "Yitzchak Scott-Thoennes" + } + ] + }, + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Ali Moradi", + "name" : "Ali Moradi", + "y" : 3 + }, + { + "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov", + "y" : 2 + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 3 + }, + { + "drilldown" : "Athanasius", + "name" : "Athanasius", + "y" : 4 + }, + { + "drilldown" : "BarrOff", + "name" : "BarrOff", + "y" : 2 + }, + { + "drilldown" : "Bob Lied", + "name" : "Bob Lied", + "y" : 3 + }, + { + "drilldown" : "David Ferrone", + "name" : "David Ferrone", + "y" : 2 + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 + }, + { + "drilldown" : "Feng Chang", + "name" : "Feng Chang", + "y" : 2 + }, + { + "drilldown" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas", + "y" : 5 + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 2 + }, + { + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey", + "y" : 3 + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 12 + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "drilldown" : "Matthew Neleigh", + "name" : "Matthew Neleigh", + "y" : 2 + }, + { + "drilldown" : "Matthias Muth", + "name" : "Matthias Muth", + "y" : 3 + }, + { + "drilldown" : "mauke", + "name" : "mauke", + "y" : 2 + }, + { + "drilldown" : "Packy Anderson", + "name" : "Packy Anderson", + "y" : 5 + }, + { + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", + "y" : 3 + }, + { + "drilldown" : "Peter Meszaros", + "name" : "Peter Meszaros", + "y" : 2 + }, + { + "drilldown" : "Robbie Hatley", + "name" : "Robbie Hatley", + "y" : 3 + }, + { + "drilldown" : "Robert Ransbottom", + "name" : "Robert Ransbottom", + "y" : 2 + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 5 + }, + { + "drilldown" : "Simon Green", + "name" : "Simon Green", + "y" : 3 + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 3 + }, + { + "drilldown" : "Solathian", + "name" : "Solathian", + "y" : 2 + }, + { + "drilldown" : "Thomas Kohler", + "name" : "Thomas Kohler", + "y" : 4 + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 4 + }, + { + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan", + "y" : 3 + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 2 + }, + { + "drilldown" : "Yitzchak Scott-Thoennes", + "name" : "Yitzchak Scott-Thoennes", + "y" : 2 + } + ], + "name" : "The Weekly Challenge - 332" + } + ], + "subtitle" : { + "text" : "[Champions: 31] Last updated at 2025-08-04 22:51:26 GMT" + }, + "title" : { + "text" : "The Weekly Challenge - 332" + }, + "tooltip" : { + "followPointer" : 1, + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
" + }, + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 1a2c90694b..905ba85d25 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -28,58 +28,6 @@ "id" : "Andrew Shitov", "name" : "Andrew Shitov" }, - { - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Arne Sommer", - "name" : "Arne Sommer" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ] - ], - "id" : "Athanasius", - "name" : "Athanasius" - }, - { - "data" : [ - [ - "Raku", - 2 - ] - ], - "id" : "BarrOff", - "name" : "BarrOff" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Bob Lied", - "name" : "Bob Lied" - }, { "data" : [ [ @@ -110,48 +58,6 @@ "id" : "Feng Chang", "name" : "Feng Chang" }, - { - "data" : [ - [ - "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 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey" - }, { "data" : [ [ @@ -176,30 +82,6 @@ "id" : "Mark Anderson", "name" : "Mark Anderson" }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Matthew Neleigh", - "name" : "Matthew Neleigh" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Matthias Muth", - "name" : "Matthias Muth" - }, { "data" : [ [ @@ -210,24 +92,6 @@ "id" : "mauke", "name" : "mauke" }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Packy Anderson", - "name" : "Packy Anderson" - }, { "data" : [ [ @@ -252,20 +116,6 @@ "id" : "Peter Meszaros", "name" : "Peter Meszaros" }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Robbie Hatley", - "name" : "Robbie Hatley" - }, { "data" : [ [ @@ -273,79 +123,9 @@ 2 ] ], - "id" : "Robert Ransbottom", - "name" : "Robert Ransbottom" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Simon Green", - "name" : "Simon Green" - }, - { - "data" : [ - [ - "Raku", - 2 - ], - [ - "Blog", - 1 - ] - ], "id" : "Simon Proctor", "name" : "Simon Proctor" }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Solathian", - "name" : "Solathian" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 2 - ] - ], - "id" : "Thomas Kohler", - "name" : "Thomas Kohler" - }, { "data" : [ [ @@ -373,26 +153,6 @@ ], "id" : "W. Luis Mochan", "name" : "W. Luis Mochan" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Wanderdoc", - "name" : "Wanderdoc" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Yitzchak Scott-Thoennes", - "name" : "Yitzchak Scott-Thoennes" } ] }, @@ -422,26 +182,6 @@ "name" : "Andrew Shitov", "y" : 2 }, - { - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer", - "y" : 3 - }, - { - "drilldown" : "Athanasius", - "name" : "Athanasius", - "y" : 4 - }, - { - "drilldown" : "BarrOff", - "name" : "BarrOff", - "y" : 2 - }, - { - "drilldown" : "Bob Lied", - "name" : "Bob Lied", - "y" : 3 - }, { "drilldown" : "David Ferrone", "name" : "David Ferrone", @@ -457,21 +197,6 @@ "name" : "Feng Chang", "y" : 2 }, - { - "drilldown" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas", - "y" : 5 - }, - { - "drilldown" : "Jan Krnavek", - "name" : "Jan Krnavek", - "y" : 2 - }, - { - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey", - "y" : 3 - }, { "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari", @@ -482,26 +207,11 @@ "name" : "Mark Anderson", "y" : 2 }, - { - "drilldown" : "Matthew Neleigh", - "name" : "Matthew Neleigh", - "y" : 2 - }, - { - "drilldown" : "Matthias Muth", - "name" : "Matthias Muth", - "y" : 3 - }, { "drilldown" : "mauke", "name" : "mauke", "y" : 2 }, - { - "drilldown" : "Packy Anderson", - "name" : "Packy Anderson", - "y" : 5 - }, { "drilldown" : "Peter Campbell Smith", "name" : "Peter Campbell Smith", @@ -512,41 +222,11 @@ "name" : "Peter Meszaros", "y" : 2 }, - { - "drilldown" : "Robbie Hatley", - "name" : "Robbie Hatley", - "y" : 3 - }, - { - "drilldown" : "Robert Ransbottom", - "name" : "Robert Ransbottom", - "y" : 2 - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 5 - }, - { - "drilldown" : "Simon Green", - "name" : "Simon Green", - "y" : 3 - }, { "drilldown" : "Simon Proctor", "name" : "Simon Proctor", - "y" : 3 - }, - { - "drilldown" : "Solathian", - "name" : "Solathian", "y" : 2 }, - { - "drilldown" : "Thomas Kohler", - "name" : "Thomas Kohler", - "y" : 4 - }, { "drilldown" : "Ulrich Rieke", "name" : "Ulrich Rieke", @@ -556,26 +236,16 @@ "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan", "y" : 3 - }, - { - "drilldown" : "Wanderdoc", - "name" : "Wanderdoc", - "y" : 2 - }, - { - "drilldown" : "Yitzchak Scott-Thoennes", - "name" : "Yitzchak Scott-Thoennes", - "y" : 2 } ], - "name" : "The Weekly Challenge - 332" + "name" : "The Weekly Challenge - 333" } ], "subtitle" : { - "text" : "[Champions: 31] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 13] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { - "text" : "The Weekly Challenge - 332" + "text" : "The Weekly Challenge - 333" }, "tooltip" : { "followPointer" : 1, diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 0745aa3888..a2bd75ac8d 100644 --- a/stats/pwc-language-breakdown-2019.json +++ b/stats/pwc-language-breakdown-2019.json @@ -970,7 +970,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json index 90f9c1243c..9bd29ae901 100644 --- a/stats/pwc-language-breakdown-2020.json +++ b/stats/pwc-language-breakdown-2020.json @@ -1223,7 +1223,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2021.json b/stats/pwc-language-breakdown-2021.json index 097c6515dc..882c1c72fc 100644 --- a/stats/pwc-language-breakdown-2021.json +++ b/stats/pwc-language-breakdown-2021.json @@ -1223,7 +1223,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2022.json b/stats/pwc-language-breakdown-2022.json index d41137470a..d249e44ff8 100644 --- a/stats/pwc-language-breakdown-2022.json +++ b/stats/pwc-language-breakdown-2022.json @@ -1223,7 +1223,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2023.json b/stats/pwc-language-breakdown-2023.json index 6e21fb55cf..deb65ab91d 100644 --- a/stats/pwc-language-breakdown-2023.json +++ b/stats/pwc-language-breakdown-2023.json @@ -1200,7 +1200,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2024.json b/stats/pwc-language-breakdown-2024.json index bbdd821f02..9de32bf33e 100644 --- a/stats/pwc-language-breakdown-2024.json +++ b/stats/pwc-language-breakdown-2024.json @@ -1246,7 +1246,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2025.json b/stats/pwc-language-breakdown-2025.json index bf924d4ffb..e7d68f26d3 100644 --- a/stats/pwc-language-breakdown-2025.json +++ b/stats/pwc-language-breakdown-2025.json @@ -4,6 +4,24 @@ }, "drilldown" : { "series" : [ + { + "data" : [ + [ + "Perl", + 16 + ], + [ + "Raku", + 12 + ], + [ + "Blog", + 13 + ] + ], + "id" : "333", + "name" : "333" + }, { "data" : [ [ @@ -562,6 +580,11 @@ { "colorByPoint" : "true", "data" : [ + { + "drilldown" : "333", + "name" : "333", + "y" : 41 + }, { "drilldown" : "332", "name" : "332", @@ -717,7 +740,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 31fa28aba0..c7dfadfb6e 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -10,15 +10,15 @@ "data" : [ [ "Perl", - 17150 + 17166 ], [ "Raku", - 9550 + 9562 ], [ "Blog", - 6164 + 6177 ] ], "dataLabels" : { @@ -37,7 +37,7 @@ } ], "subtitle" : { - "text" : "Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2025]" diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index 2bf2b4649a..7671721993 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -8,11 +8,11 @@ "data" : [ [ "Raku", - 466 + 468 ], [ "Blog", - 1197 + 1207 ] ], "id" : "Luca Ferrari", @@ -112,11 +112,11 @@ "data" : [ [ "Perl", - 502 + 504 ], [ "Raku", - 510 + 512 ] ], "id" : "Ulrich Rieke", @@ -176,7 +176,7 @@ "data" : [ [ "Perl", - 482 + 484 ], [ "Raku", @@ -184,7 +184,7 @@ ], [ "Blog", - 241 + 242 ] ], "id" : "W. Luis Mochan", @@ -212,7 +212,7 @@ "data" : [ [ "Perl", - 653 + 655 ], [ "Blog", @@ -286,11 +286,11 @@ "data" : [ [ "Perl", - 390 + 392 ], [ "Blog", - 188 + 189 ] ], "id" : "Peter Campbell Smith", @@ -304,7 +304,7 @@ ], [ "Raku", - 527 + 529 ], [ "Blog", @@ -336,7 +336,7 @@ ], [ "Raku", - 455 + 457 ] ], "id" : "Feng Chang", @@ -356,37 +356,37 @@ "data" : [ [ "Perl", - 384 + 247 ], [ "Raku", - 9 + 113 ], [ "Blog", - 53 + 88 ] ], - "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung" + "id" : "Ali Moradi", + "name" : "Ali Moradi" }, { "data" : [ [ "Perl", - 245 + 384 ], [ "Raku", - 113 + 9 ], [ "Blog", - 87 + 53 ] ], - "id" : "Ali Moradi", - "name" : "Ali Moradi" + "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" }, { "data" : [ @@ -544,7 +544,7 @@ "data" : [ [ "Perl", - 302 + 304 ], [ "Raku", @@ -594,7 +594,7 @@ ], [ "Raku", - 277 + 279 ], [ "Blog", @@ -646,7 +646,7 @@ "data" : [ [ "Perl", - 266 + 268 ] ], "id" : "Peter Meszaros", @@ -797,7 +797,7 @@ { "drilldown" : "Luca Ferrari", "name" : "1: Luca Ferrari", - "y" : 3326 + "y" : 3350 }, { "drilldown" : "Jaldhar H. Vyas", @@ -827,7 +827,7 @@ { "drilldown" : "Ulrich Rieke", "name" : "7: Ulrich Rieke", - "y" : 2024 + "y" : 2032 }, { "drilldown" : "Flavio Poletti", @@ -847,7 +847,7 @@ { "drilldown" : "W. Luis Mochan", "name" : "11: W. Luis Mochan", - "y" : 1450 + "y" : 1456 }, { "drilldown" : "Adam Russell", @@ -857,7 +857,7 @@ { "drilldown" : "E. Choroba", "name" : "13: E. Choroba", - "y" : 1420 + "y" : 1424 }, { "drilldown" : "Colin Crain", @@ -882,12 +882,12 @@ { "drilldown" : "Peter Campbell Smith", "name" : "18: Peter Campbell Smith", - "y" : 1156 + "y" : 1162 }, { "drilldown" : "Mark Anderson", "name" : "19: Mark Anderson", - "y" : 1106 + "y" : 1110 }, { "drilldown" : "Thomas Kohler", @@ -897,7 +897,7 @@ { "drilldown" : "Feng Chang", "name" : "21: Feng Chang", - "y" : 954 + "y" : 958 }, { "drilldown" : "Jan Krnavek", @@ -905,14 +905,14 @@ "y" : 916 }, { - "drilldown" : "Cheok-Yin Fung", - "name" : "23: Cheok-Yin Fung", - "y" : 892 + "drilldown" : "Ali Moradi", + "name" : "23: Ali Moradi", + "y" : 896 }, { - "drilldown" : "Ali Moradi", - "name" : "24: Ali Moradi", - "y" : 890 + "drilldown" : "Cheok-Yin Fung", + "name" : "24: Cheok-Yin Fung", + "y" : 892 }, { "drilldown" : "James Smith", @@ -967,7 +967,7 @@ { "drilldown" : "David Ferrone", "name" : "35: David Ferrone", - "y" : 648 + "y" : 652 }, { "drilldown" : "Stuart Little", @@ -982,7 +982,7 @@ { "drilldown" : "Simon Proctor", "name" : "38: Simon Proctor", - "y" : 598 + "y" : 602 }, { "drilldown" : "Abigail", @@ -1002,7 +1002,7 @@ { "drilldown" : "Peter Meszaros", "name" : "42: Peter Meszaros", - "y" : 532 + "y" : 536 }, { "drilldown" : "Stephen G. Lynn", @@ -1049,7 +1049,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-08-04 03:41:09 GMT" + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "Team Leaders (TOP 50)" diff --git a/stats/pwc-summary-1-30.json b/stats/pwc-summary-1-30.json index 4b6f7f42db..5c2653b9a8 100644 --- a/stats/pwc-summary-1-30.json +++ b/stats/pwc-summary-1-30.json @@ -24,7 +24,7 @@ 2, 43, 93, - 245, + 247, 44, 13, 8, @@ -68,7 +68,7 @@ 0, 0, 0, - 113, + 115, 0, 0, 2, @@ -94,7 +94,7 @@ 0, 0, 13, - 87, + 88, 0, 32, 4, @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-121-150.json b/stats/pwc-summary-121-150.json index 7224167863..2ed6689f52 100644 --- a/stats/pwc-summary-121-150.json +++ b/stats/pwc-summary-121-150.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-151-180.json b/stats/pwc-summary-151-180.json index b0a981de8a..d251b2dffe 100644 --- a/stats/pwc-summary-151-180.json +++ b/stats/pwc-summary-151-180.json @@ -62,7 +62,7 @@ 0, 10, 55, - 466, + 468, 14, 4, 0, @@ -70,7 +70,7 @@ 0, 0, 0, - 527, + 529, 1, 49, 91, @@ -97,7 +97,7 @@ 0, 0, 30, - 1197, + 1207, 0, 0, 0, @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-181-210.json b/stats/pwc-summary-181-210.json index e0ef34c066..deff6a6425 100644 --- a/stats/pwc-summary-181-210.json +++ b/stats/pwc-summary-181-210.json @@ -17,7 +17,7 @@ 0, 4, 220, - 10, + 12, 6, 13, 12, @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-211-240.json b/stats/pwc-summary-211-240.json index e0f25f396d..6ddfe918d1 100644 --- a/stats/pwc-summary-211-240.json +++ b/stats/pwc-summary-211-240.json @@ -25,9 +25,9 @@ 4, 180, 0, - 390, + 392, 1, - 266, + 268, 10, 11, 7, @@ -95,7 +95,7 @@ 0, 0, 0, - 188, + 189, 0, 0, 2, @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-241-270.json b/stats/pwc-summary-241-270.json index f68d20a51e..9e2c8dae27 100644 --- a/stats/pwc-summary-241-270.json +++ b/stats/pwc-summary-241-270.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-271-300.json b/stats/pwc-summary-271-300.json index 349e478a87..13ad3344d6 100644 --- a/stats/pwc-summary-271-300.json +++ b/stats/pwc-summary-271-300.json @@ -55,7 +55,7 @@ 8, 0, 0, - 277, + 279, 0, 0, 0, @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-04 03:41:09 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-05 10:54:21 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-301-330.json b/stats/pwc-summary-301-330.json index 3cb685f6ff..e2f4ba1a66 100644 --- a/stats/pwc-summary-301-330.json +++ b/stats/pwc-summary-301-330.json @@ -20,14 +20,14 @@ 0, 2, 4, - 502, + 504, 24, 18, 16, 28, 0, 4, - 482, + 484, 87, 330, 1, @@ -52,7 +52,7 @@ 2, 0, 0, - 510, + 512, 0, 0, 2, @@ -91,7 +91,7 @@ 0, 0, 0, -