From d6d9df839741d01f80758e2acc9e6cc83ad5336a Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Thu, 6 Nov 2025 11:23:04 +0000 Subject: - Added solutions by Ulrich Rieke. --- challenge-346/ulrich-rieke/cpp/ch-1.cpp | 75 ++++++++++++++++++++++++++ challenge-346/ulrich-rieke/haskell/ch-1.hs | 25 +++++++++ challenge-346/ulrich-rieke/haskell/ch-2.hs | 86 ++++++++++++++++++++++++++++++ challenge-346/ulrich-rieke/perl/ch-1.pl | 60 +++++++++++++++++++++ challenge-346/ulrich-rieke/python/ch-1.py | 38 +++++++++++++ challenge-346/ulrich-rieke/raku/ch-1.raku | 53 ++++++++++++++++++ challenge-346/ulrich-rieke/rust/ch-1.rs | 59 ++++++++++++++++++++ stats/pwc-current.json | 21 +++++++- 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 | 8 +-- stats/pwc-language-breakdown-summary.json | 6 +-- stats/pwc-leaders.json | 8 +-- stats/pwc-summary-1-30.json | 2 +- stats/pwc-summary-121-150.json | 2 +- stats/pwc-summary-151-180.json | 2 +- stats/pwc-summary-181-210.json | 2 +- stats/pwc-summary-211-240.json | 2 +- stats/pwc-summary-241-270.json | 2 +- stats/pwc-summary-271-300.json | 2 +- stats/pwc-summary-301-330.json | 6 +-- stats/pwc-summary-31-60.json | 2 +- stats/pwc-summary-61-90.json | 2 +- stats/pwc-summary-91-120.json | 2 +- stats/pwc-summary.json | 8 +-- stats/pwc-yearly-language-summary.json | 8 +-- 30 files changed, 454 insertions(+), 39 deletions(-) create mode 100755 challenge-346/ulrich-rieke/cpp/ch-1.cpp create mode 100755 challenge-346/ulrich-rieke/haskell/ch-1.hs create mode 100755 challenge-346/ulrich-rieke/haskell/ch-2.hs create mode 100755 challenge-346/ulrich-rieke/perl/ch-1.pl create mode 100755 challenge-346/ulrich-rieke/python/ch-1.py create mode 100755 challenge-346/ulrich-rieke/raku/ch-1.raku create mode 100755 challenge-346/ulrich-rieke/rust/ch-1.rs diff --git a/challenge-346/ulrich-rieke/cpp/ch-1.cpp b/challenge-346/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..82a661efeb --- /dev/null +++ b/challenge-346/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,75 @@ +#include +#include +#include +#include +#include +#include + +int findSuitableLength( int start , const std::string & parens ) { + int len = static_cast(parens.length( ) ) ; + std::vector countBalances ; + int balance = 1 ; + countBalances.push_back( balance ) ; + start++ ; + while ( start < len ) { + if ( parens.substr( start , 1 ) == "(" ) { + balance++ ; + } + else { + balance-- ; + if ( balance < 0 ) { + break ; + } + } + countBalances.push_back( balance ) ; + start++ ; + } + int last = countBalances.back( ) ; + if ( last == 0 ) + return static_cast( countBalances.size( ) ) ; + else { + auto howmany = std::count( countBalances.begin( ) , + countBalances.end( ) , 0 ) ; + if ( howmany == 0 ) { + return 0 ; + } + else { + if ( howmany == 1 ) { + auto found = std::find( countBalances.begin( ) , + countBalances.end( ) , 0 ) ; + return static_cast( std::distance( countBalances.begin( ) , + found )) + 1 ; + } + else { + auto myStart = std::prev( countBalances.end( ) ) ; + while ( *myStart != 0 ) { + --myStart ; + } + return static_cast( std::distance( countBalances.begin( ) , + myStart )) + 1; + } + } + } +} + +int main( ) { + std::cout << "Enter a string consisting of parentheses only!\n" ; + std::string parens ; + std::cin >> parens ; + auto found = std::find( parens.begin( ) , parens.end( ) , '(' ) ; + std::vector lengths ; + while ( found != parens.end( ) ) { + int l = findSuitableLength( static_cast( std::distance( + parens.begin() , found )) , parens ) ; + lengths.push_back( l ) ; + found++ ; + if ( found != parens.end( ) ) { + found = std::find( found , parens.end( ) , '(' ) ; + } + } + std::cout << *std::max_element( lengths.begin( ) , lengths.end( ) ) + << '\n' ; +} + + + diff --git a/challenge-346/ulrich-rieke/haskell/ch-1.hs b/challenge-346/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..869d1ab7d0 --- /dev/null +++ b/challenge-346/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,25 @@ +module Challenge346 + where +import Data.List ( findIndices , sortOn) + +findValidLength :: String -> Int +findValidLength parens = + let l = length parens + bracketcount = map (\i -> (i , (length $ findIndices ( == '(' ) + $ take i parens , length $ findIndices ( == ')' ) $ take i + parens ))) [2..l] + selected = filter (\p -> (fst $ snd p) - ( snd $ snd p ) == 0 ) + bracketcount + in if null selected then 0 else fst $ last $ sortOn fst selected + +solution :: String -> Int +solution str = maximum $ map (\i -> findValidLength $ drop i str ) $ filter (\i -> + i < l - 1 ) $ findIndices ( == '(' ) str + where + l = length str + +main :: IO ( ) +main = do + putStrLn "Enter a word consisting of parentheses only!" + parWord <- getLine + print $ solution parWord diff --git a/challenge-346/ulrich-rieke/haskell/ch-2.hs b/challenge-346/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..190d3e997f --- /dev/null +++ b/challenge-346/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,86 @@ +module Challenge346_2 + where +import Data.List ( findIndex , findIndices , (!!)) +import qualified Data.Set as S +import Data.Char ( isDigit ) +import Data.List.Split ( split , divvy , splitPlaces , oneOf ) + +combinations :: Int -> [a] -> [[a]] +combinations 0 _ = [[]] +combinations n xs = [ xs !! i : x | i <- [0..(length xs ) - 1 ] , + x <- combinations (n - 1 ) ( drop ( i + 1 ) xs ) ] + +eliminateMultiply :: String -> String +eliminateMultiply str = until ( null . findIndices (== '*' )) step str + where + step :: String -> String + step aString = if null $ findIndices (== '*') aString then aString else + firstPart ++ show theProduct ++ secondPart + where + pos :: Int + pos = head $ findIndices (== '*') aString + firstOperand :: String + firstOperand = reverse $ takeWhile isDigit $ reverse $ take pos aString + secondOperand :: String + secondOperand = takeWhile isDigit $ drop ( pos + 1 ) aString + theProduct :: Int + theProduct = (read firstOperand :: Int) * ( read secondOperand :: Int) + firstPart :: String + firstPart = take ( pos - length firstOperand ) aString + secondPart :: String + secondPart = drop ( pos + 1 + length secondOperand ) aString + +createSeparationPoints :: String -> [[Int]] +createSeparationPoints str = + let l = length str + numbers = concat $ map (\i -> take ( div l i ) $ repeat i ) [1..l - 1] + allCombis = concat $ map (\i -> combinations i numbers ) [1..l] + selected = filter ( (l ==) . sum ) $ S.toList $ S.fromList allCombis + allReversed = map reverse selected + in S.toList $ S.fromList ( selected ++ allReversed ) + +separateString :: [Int] -> String -> [String] +separateString list str = splitPlaces list str + +findOperatorCombinations :: Int -> [String] +findOperatorCombinations splitNumber = + let allLetters = foldl1 ( ++ ) $ map (\c -> take splitNumber $ repeat c) "+-*" + allCombis = combinations splitNumber allLetters + allReversed = map reverse allCombis + in S.toList $ S.fromList ( allCombis ++ allReversed ) + +insertOperators :: [String] -> String -> String +insertOperators stringlist operators = + let zipped = zip stringlist operators + in (foldl1 ( ++ ) $ map (\p -> fst p ++ [snd p] ) zipped) ++ last stringlist + +combineWithOperators :: [String] -> [String] +combineWithOperators stringlist = + let opCombis = findOperatorCombinations ( length stringlist - 1 ) + in map (\str -> insertOperators stringlist str ) opCombis + +findAllStringCombinations :: String -> [String] +findAllStringCombinations str = + let sepPoints = createSeparationPoints str + separatedStrings = map (\subli -> separateString subli str ) sepPoints + in concat $ map combineWithOperators separatedStrings + +newEvaluate :: String -> String +newEvaluate str = head $ until ( (== 1 ) . length ) step $ split ( oneOf "+-" ) $ + eliminateMultiply str + where + step :: [String] -> [String] + step aList = [if aList !! 1 == "+" then show (firstnum + secondnum ) else show (firstnum - + secondnum )] ++ drop 3 aList + where + firstnum = read $ aList !! 0 + secondnum = read $ aList !! 2 + +main :: IO ( ) +main = do + putStrLn "Enter a string consisting of digits only!" + numberline <- getLine + putStrLn "Enter a target string!" + target <- getLine + if numberline == target then print [numberline ++ "+0" , numberline ++ "-0"] else + print $ filter ( (== target) . newEvaluate ) $ findAllStringCombinations numberline diff --git a/challenge-346/ulrich-rieke/perl/ch-1.pl b/challenge-346/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..ae755cbd29 --- /dev/null +++ b/challenge-346/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw ( max ) ; + +sub findLength { + my $word = shift ; + my $current = shift ; + my @balances ; + my $balance = 1 ; + push( @balances , $balance ) ; + my $len = length $word ; + $current++ ; + while ( $current < $len ) { + if ( substr( $word , $current , 1 ) eq "(" ) { + $balance++ ; + } + else { + $balance-- ; + } + if ( $balance < 0 ) { + last ; + } + push( @balances , $balance ) ; + $current++ ; + } + my $howmany = scalar( grep { $_ == 0 } @balances ) ; + my $result ; + if ( $howmany == 0 ) { + $result = 0 ; + } + elsif ( $howmany == 1 ) { + my $pos = 0 ; + while ( $balances[$pos] != 0 ) { + $pos++ ; + } + $result = $pos + 1 ; + } + else { + my $pos = scalar( @balances ) - 1 ; + while ( $balances[$pos] != 0 ) { + $pos-- ; + } + $result = $pos + 1 ; + } + return $result ; +} + +say "Enter a string consisting of parentheses only!" ; +my $word = ; +chomp $word ; +my $len = length $word ; +my @lengths ; +for my $pos (0..$len - 2) { + if ( substr( $word , $pos , 1 ) eq "(" ) { + push( @lengths , findLength( $word , $pos )) ; + } +} +say max( @lengths ) ; diff --git a/challenge-346/ulrich-rieke/python/ch-1.py b/challenge-346/ulrich-rieke/python/ch-1.py new file mode 100755 index 0000000000..7cea0dd22c --- /dev/null +++ b/challenge-346/ulrich-rieke/python/ch-1.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 + +def findLength( word , start): + balances = [] + balance = 1 + length = len( word ) + balances.append( balance ) + start += 1 + while start < length: + letter = word[start] + if letter == '(': + balance += 1 + else: + balance -= 1 + if balance < 0: + break + balances.append( balance ) + start += 1 + howmany = balances.count( 0 ) + result = 0 + if howmany == 0: + result = 0 + elif howmany == 1: + result = balances.index( 0 ) + 1 + else: + cur = len(balances) - 1 + while balances[cur] != 0: + cur -= 1 + result = cur + 1 + return result + +string = input( "Enter a string consisting of parentheses only!\n" ) +length = len( string ) +lengths = [] +for pos in range(0 , length - 1): + if string[pos] == '(': + lengths.append( findLength( string , pos )) +print( max( lengths ) ) diff --git a/challenge-346/ulrich-rieke/raku/ch-1.raku b/challenge-346/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..30ec3e84fd --- /dev/null +++ b/challenge-346/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,53 @@ +use v6 ; + +sub findLength( $word , $start is copy) { + my @balances ; + my $balance = 1 ; + @balances.push( $balance ) ; + my $len = $word.chars ; + $start++ ; + while ( $start < $len ) { + if ( $word.substr( $start , 1 ) eq "(" ) { + $balance++ ; + } + else { + $balance-- ; + } + if ( $balance < 0 ) { + last ; + } + @balances.push( $balance ) ; + $start++ ; + } + my $howmany = @balances.grep( {$_ == 0} ).elems ; + my $result ; + if ( $howmany == 0 ) { + $result = 0 ; + } + elsif ( $howmany == 1 ) { + my $pos = 0 ; + while ( @balances[$pos] != 0 ) { + $pos++ ; + } + $result = $pos + 1 ; + } + else { + my $pos = $len - 1 ; + while ( @balances[$pos] != 0 ) { + $pos-- ; + } + $result = $pos + 1 ; + } + return $result ; +} + +say "Enter a string consisting of parentheses only!" ; +my $word = $*IN.get ; +my $len = $word.chars ; +my @lengths ; +for (0..$len - 1) -> $pos { + if ( $word.substr( $pos , 1 ) eq "(" ) { + @lengths.push(findLength( $word , $pos ) ) ; + } +} +say @lengths.max ; diff --git a/challenge-346/ulrich-rieke/rust/ch-1.rs b/challenge-346/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..bbe01c088c --- /dev/null +++ b/challenge-346/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,59 @@ +use std::io ; + +fn find_length( input : &str , mut current : usize ) -> usize { + let mut balances : Vec = Vec::new( ) ; + let mut balance : i32 = 1 ; + balances.push( balance ) ; + let len : usize = input.chars( ).count( ) ; + current += 1 ; + while current < len { + let letter : char = input.chars( ).nth( current ).unwrap( ) ; + if letter == '(' { + balance += 1 ; + } + else { + balance -= 1 ; + } + if balance < 0 { + break ; + } + balances.push( balance ) ; + current += 1 ; + } + let howmany : usize = balances.iter( ).filter( |&n| *n == 0 ).count( ) ; + let result : usize ; + if howmany == 0 { + result = 0 ; + } + else { + if howmany == 1 { + let pos : usize = balances.iter( ).position( |n| *n == 0 ).unwrap( ) ; + result = pos + 1 ; + } + else { + let mut cur = balances.len( ) - 1 ; + while balances[cur] != 0 { + cur -= 1 ; + } + result = cur + 1 ; + } + } + result +} + +fn main() { + println!("Enter a string consisting of parentheses only!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let parens : &str = inline.trim( ) ; + let mut lengths : Vec = Vec::new( ) ; + let len : usize = parens.chars().count( ) ; + for pos in 0..len - 1 { + let letter : char = parens.chars( ).nth( pos ).unwrap( ) ; + if letter == '(' { + let result = find_length( parens , pos ) ; + lengths.push( result ) ; + } + } + println!("{}" , lengths.into_iter().max( ).unwrap( ) ) ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 0452f33c06..320210861e 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -126,6 +126,20 @@ "id" : "Thomas Kohler", "name" : "Thomas Kohler" }, + { + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 1 + ] + ], + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke" + }, { "data" : [ [ @@ -213,6 +227,11 @@ "name" : "Thomas Kohler", "y" : 4 }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 2 + }, { "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan", @@ -223,7 +242,7 @@ } ], "subtitle" : { - "text" : "[Champions: 12] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 13] Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge - 346" diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 056044b90e..66ec04da24 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-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json index 07006a2094..542bfc92d3 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-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2021.json b/stats/pwc-language-breakdown-2021.json index f9ed41525a..a106ee9d93 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-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2022.json b/stats/pwc-language-breakdown-2022.json index 92f17a6871..19bb375b4b 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-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2023.json b/stats/pwc-language-breakdown-2023.json index 4586125d37..1f59423fde 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-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2024.json b/stats/pwc-language-breakdown-2024.json index dd7cd04b72..cd9e4a68c3 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-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2025.json b/stats/pwc-language-breakdown-2025.json index 6f4c7f862f..287771c631 100644 --- a/stats/pwc-language-breakdown-2025.json +++ b/stats/pwc-language-breakdown-2025.json @@ -8,11 +8,11 @@ "data" : [ [ "Perl", - 19 + 20 ], [ "Raku", - 4 + 5 ], [ "Blog", @@ -817,7 +817,7 @@ { "drilldown" : "346", "name" : "346", - "y" : 27 + "y" : 29 }, { "drilldown" : "345", @@ -1039,7 +1039,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 5ad08517d0..a79be849df 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -10,11 +10,11 @@ "data" : [ [ "Perl", - 17814 + 17815 ], [ "Raku", - 9870 + 9871 ], [ "Blog", @@ -37,7 +37,7 @@ } ], "subtitle" : { - "text" : "Last updated at 2025-11-06 00:23:23 GMT" + "text" : "Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2025]" diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index 5c6ef78596..35d7052279 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -112,11 +112,11 @@ "data" : [ [ "Perl", - 528 + 529 ], [ "Raku", - 536 + 537 ] ], "id" : "Ulrich Rieke", @@ -827,7 +827,7 @@ { "drilldown" : "Ulrich Rieke", "name" : "7: Ulrich Rieke", - "y" : 2128 + "y" : 2132 }, { "drilldown" : "Flavio Poletti", @@ -1049,7 +1049,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "Team Leaders (TOP 50)" diff --git a/stats/pwc-summary-1-30.json b/stats/pwc-summary-1-30.json index bad6db98e0..4792afc38a 100644 --- a/stats/pwc-summary-1-30.json +++ b/stats/pwc-summary-1-30.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 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 82683d8cbf..8420e118de 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-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 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 c5266420cf..e0c739befb 100644 --- a/stats/pwc-summary-151-180.json +++ b/stats/pwc-summary-151-180.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 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 2b8d2a71ac..cd2bb33baf 100644 --- a/stats/pwc-summary-181-210.json +++ b/stats/pwc-summary-181-210.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 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 28b8f192e9..5aa172a9e8 100644 --- a/stats/pwc-summary-211-240.json +++ b/stats/pwc-summary-211-240.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 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 717ea2c87a..94d7dd0ac4 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-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 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 b6bedd0ee0..3ed91c2e2e 100644 --- a/stats/pwc-summary-271-300.json +++ b/stats/pwc-summary-271-300.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 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 c35499c042..a065500a99 100644 --- a/stats/pwc-summary-301-330.json +++ b/stats/pwc-summary-301-330.json @@ -21,7 +21,7 @@ 0, 2, 4, - 528, + 529, 24, 18, 16, @@ -54,7 +54,7 @@ 2, 0, 0, - 536, + 537, 0, 0, 2, @@ -109,7 +109,7 @@ } ], "subtitle" : { - "text" : "[Champions: 28] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 28] Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-31-60.json b/stats/pwc-summary-31-60.json index ffc601dfe9..7a97476600 100644 --- a/stats/pwc-summary-31-60.json +++ b/stats/pwc-summary-31-60.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-61-90.json b/stats/pwc-summary-61-90.json index a105f93c9e..a5d1023d16 100644 --- a/stats/pwc-summary-61-90.json +++ b/stats/pwc-summary-61-90.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary-91-120.json b/stats/pwc-summary-91-120.json index da439b7375..5d1255625e 100644 --- a/stats/pwc-summary-91-120.json +++ b/stats/pwc-summary-91-120.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 30] Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary.json b/stats/pwc-summary.json index 03e02ba51c..4b7e043878 100644 --- a/stats/pwc-summary.json +++ b/stats/pwc-summary.json @@ -321,7 +321,7 @@ 0, 1, 2, - 286, + 287, 12, 9, 9, @@ -397,8 +397,8 @@ 6, 0, 0, - 1, 9, + 1, 0, 104, 0, @@ -654,7 +654,7 @@ 1, 0, 0, - 287, + 288, 0, 0, 2, @@ -1009,7 +1009,7 @@ } ], "subtitle" : { - "text" : "[Champions: 328] Last updated at 2025-11-06 00:23:23 GMT" + "text" : "[Champions: 328] Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-yearly-language-summary.json b/stats/pwc-yearly-language-summary.json index 0d13abf531..ea5ce9b35f 100644 --- a/stats/pwc-yearly-language-summary.json +++ b/stats/pwc-yearly-language-summary.json @@ -8,11 +8,11 @@ "data" : [ [ "Perl", - 2037 + 2038 ], [ "Raku", - 994 + 995 ], [ "Blog", @@ -151,7 +151,7 @@ { "drilldown" : "2025", "name" : "2025", - "y" : 3821 + "y" : 3823 }, { "drilldown" : "2024", @@ -188,7 +188,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 00:23:23 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-11-06 11:22:39 GMT" }, "title" : { "text" : "The Weekly Challenge Language" -- cgit