diff options
36 files changed, 718 insertions, 105 deletions
diff --git a/challenge-344/ulrich-rieke/cpp/ch-1.cpp b/challenge-344/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..f74f95fea4 --- /dev/null +++ b/challenge-344/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,54 @@ +#include <iostream>
+#include <vector>
+#include <string>
+#include <sstream>
+#include <algorithm>
+#include <cmath>
+
+std::vector<std::string> split( const std::string & text , const char
+ delimiter ) {
+ std::vector<std::string> tokens ;
+ std::istringstream istr { text } ;
+ std::string word ;
+ while ( std::getline( istr , word , delimiter ) )
+ tokens.push_back( word ) ;
+ return tokens ;
+}
+
+std::vector<int> decompose( int number ) {
+ std::vector<int> result ;
+ while ( number != 0 ) {
+ result.push_back( number % 10 ) ;
+ number /= 10 ;
+ }
+ std::reverse( result.begin( ) , result.end( ) ) ;
+ return result ;
+}
+
+int main( ) {
+ std::cout << "Enter some integers separated by blanks!\n" ;
+ std::string line ;
+ std::getline( std::cin , line ) ;
+ auto tokens { split( line , ' ' ) } ;
+ std::vector<int> numbers ;
+ for ( auto s : tokens )
+ numbers.push_back( std::stoi( s ) ) ;
+ std::cout << "Enter an integer!\n" ;
+ int x ;
+ std::cin >> x ;
+ std::reverse( numbers.begin( ) , numbers.end( ) ) ;
+ int total = 0 ;
+ int pos = 0 ;
+ for ( auto it = numbers.begin( ) ; it != numbers.end( ) ; ++it ) {
+ total += *it * static_cast<int>(std::pow( 10 , pos )) ;
+ pos++ ;
+ }
+ int result = total + x ;
+ auto resultArray { decompose( result ) } ;
+ std::cout << "( " ;
+ for ( int i : resultArray ) {
+ std::cout << i << ' ' ;
+ }
+ std::cout << ")\n" ;
+ return 0 ;
+}
diff --git a/challenge-344/ulrich-rieke/cpp/ch-2.cpp b/challenge-344/ulrich-rieke/cpp/ch-2.cpp new file mode 100755 index 0000000000..f5c5eee3aa --- /dev/null +++ b/challenge-344/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,68 @@ +#include <vector>
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <algorithm>
+
+std::vector<std::string> split( const std::string & text , const char
+ delimiter ) {
+ std::vector<std::string> tokens ;
+ std::istringstream istr { text } ;
+ std::string word ;
+ while ( std::getline( istr , word , delimiter ) )
+ tokens.push_back( word ) ;
+ return tokens ;
+}
+
+std::vector<std::vector<int>> createSublists( const std::vector<int> & row ,
+ const int len ) {
+ std::vector<std::vector<int>> sublists ;
+ std::vector<int> part ;
+ int vlen = static_cast<int>( row.size( ) ) ;
+ for ( int start = 0 ; start < vlen - len + 1 ; start++ ) {
+ for ( int i = start ; i < start + len ; i++ ) {
+ part.push_back( row[i] ) ;
+ }
+ sublists.push_back( part ) ;
+ part.clear( ) ;
+ }
+ return sublists ;
+}
+
+int main( ) {
+ std::cout << "Enter some integers separated by blanks, <return> to end!\n" ;
+ std::string line ;
+ std::vector<std::vector<int>> source ;
+ std::getline( std::cin , line ) ;
+ while ( ! line.empty( ) ) {
+ auto tokens { split( line , ' ' ) } ;
+ std::vector<int> numbers ;
+ for ( auto s : tokens )
+ numbers.push_back( std::stoi( s ) ) ;
+ source.push_back( numbers ) ;
+ std::cout << "Enter some integers separated by blanks, <return> to end!\n" ;
+ std::getline( std::cin , line ) ;
+ }
+ std::cout << "Enter some integers separated by blanks!\n" ;
+ std::string targetline ;
+ std::getline( std::cin , targetline ) ;
+ auto numtokens { split( targetline , ' ' ) } ;
+ std::vector<int> target ;
+ for ( auto s : numtokens )
+ target.push_back( std::stoi( s ) ) ;
+ int totalelements = 0 ;
+ for ( auto row : source )
+ totalelements += static_cast<int>( row.size( ) ) ;
+ if ( totalelements != static_cast<int>( target.size( ) )) {
+ std::cout << "false\n" ;
+ }
+ else {
+ bool result = std::all_of( source.begin( ) , source.end( ) , [&target](
+ const auto & vec) { auto neighbours = createSublists( target ,
+ static_cast<int>(vec.size( ) ) ) ; return std::find(
+ neighbours.begin( ) , neighbours.end( ) , vec ) !=
+ neighbours.end( ) ; } ) ;
+ std::cout << std::boolalpha << result << '\n' ;
+ }
+ return 0 ;
+}
diff --git a/challenge-344/ulrich-rieke/haskell/ch-1.hs b/challenge-344/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..c75e5becb1 --- /dev/null +++ b/challenge-344/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,23 @@ +module Challenge344
+ where
+
+decompose :: Int -> [Int]
+decompose number = reverse $ snd $ until ( (== 0 ) . fst ) step ( number , [] )
+ where
+ step :: (Int , [Int]) -> (Int , [Int])
+ step ( aNum , list ) = (div aNum 10 , list ++ [mod aNum 10] )
+
+compose :: [Int] -> Int
+compose list = sum $ map (\p -> snd p * (10 ^ fst p)) $ zip [0 , 1..]
+ ( reverse list )
+
+solution :: [Int] -> Int -> [Int]
+solution list number = decompose ( compose list + number )
+
+main :: IO ( )
+main = do
+ putStrLn "Enter some integers separated by blanks!"
+ numberline <- getLine
+ putStrLn "Enter an integer!"
+ myNum <- getLine
+ print $ solution ( map read $ words numberline ) ( read myNum )
diff --git a/challenge-344/ulrich-rieke/haskell/ch-2.hs b/challenge-344/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..8d5474dac9 --- /dev/null +++ b/challenge-344/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,23 @@ +module Challenge344_2
+ where
+import Data.List.Split( divvy )
+
+solution :: [[Int]] -> [Int] -> Bool
+solution source target = ((length $ concat source) == length target) &&
+ all (\subli -> elem subli ( divvy ( length subli ) 1 target )) source
+
+getSomeLines :: IO [String]
+getSomeLines = do
+ line <- getLine
+ if null line then return []
+ else ( line : ) <$> getSomeLines
+
+main :: IO ( )
+main = do
+ putStrLn "Enter some integers separated by blanks, <return> to end!"
+ allLines <- getSomeLines
+ putStrLn "Enter some target numbers!"
+ targetNums <- getLine
+ let source = map ( map read . words ) allLines
+ target = map read $ words targetNums
+ print $ solution source target
diff --git a/challenge-344/ulrich-rieke/perl/ch-1.pl b/challenge-344/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..0f4f39e305 --- /dev/null +++ b/challenge-344/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+
+say "Enter some integers separated by blanks!" ;
+my $line = <STDIN> ;
+chomp $line ;
+my @digits = split( /\s/ , $line ) ;
+say "Enter an integer!" ;
+my $x = <STDIN> ;
+chomp $x ;
+my $pos = 0 ;
+my $total = 0 ;
+my @reversed = reverse @digits ;
+for my $digit ( @reversed ) {
+ $total += $digit * 10 ** $pos ;
+ $pos++ ;
+}
+my $result = $total + $x ;
+say '(' . join( ',' , decompose( $result ) ) . ')' ;
+
+sub decompose {
+ my $number = shift ;
+ my @result ;
+ while ( $number != 0 ) {
+ push( @result , $number % 10 ) ;
+ $number = int( $number / 10 ) ;
+ }
+ my @resultArray = reverse @result ;
+ return @resultArray ;
+}
diff --git a/challenge-344/ulrich-rieke/perl/ch-2.pl b/challenge-344/ulrich-rieke/perl/ch-2.pl new file mode 100755 index 0000000000..5a66301b8c --- /dev/null +++ b/challenge-344/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,83 @@ +#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+use List::Util qw ( all ) ;
+
+#create an array of neighbouring numbers , where each partial array
+#has a given length
+sub findNeighbours {
+ my $target = shift ;
+ my $len = shift ;
+ my @neighbours ;
+ for my $start( 0..scalar(@$target) - $len) {
+ my @row ;
+ for my $i( $start..$start + $len - 1) {
+ push( @row , $target->[$i] ) ;
+ }
+ push( @neighbours, \@row ) ;
+ }
+ return @neighbours ;
+}
+
+say "Enter some integers separated by blanks, <return> to end!" ;
+my $line = <STDIN> ;
+chomp $line ;
+my @source ;
+while ( $line ) {
+ my @row = split( /\s/ , $line ) ;
+ push( @source , \@row ) ;
+ say "Enter some integers separated by blanks, <return> to end!" ;
+ $line = <STDIN> ;
+ chomp( $line ) ;
+}
+say "Enter some integers to denote the target!" ;
+my $targetline = <STDIN> ;
+chomp $targetline ;
+my @target = split( /\s/ , $targetline ) ;
+#the condition can't be fulfilled if the total number of integers in source
+#is not equal to the number in @target
+my $totallen = 0 ;
+for my $el( @source ) {
+ $totallen += scalar( @$el ) ;
+}
+if ( $totallen != scalar( @target ) ) {
+ say "false" ;
+}
+else {
+#the strategy is : create an array of neighbouring numbers and see whether
+#a given array of @source is contained in it. If so , we add a 1 to
+#@results and in the end check whether all elements in @results are equal
+#to 1. In order to compare subarrays I stringify them in the convert
+#function
+ my @results ;
+ for my $el( @source ) {
+ my @neighbours = findNeighbours( \@target , scalar( @$el ) ) ;
+ my %targethash ;
+ for my $found( @neighbours ) {
+ $targethash{convert( $found )}++ ;
+ }
+ if ( exists( $targethash{ convert( $el ) })) {
+ push( @results , 1 ) ;
+ }
+ else {
+ push( @results , 0 ) ;
+ }
+ }
+ if ( all { $_ == 1 } @results ) {
+ say "true" ;
+ }
+ else {
+ say "false" ;
+ }
+}
+
+sub convert {
+ my $element = shift ;
+ if ( scalar( @$element) == 1 ) {
+ return $element->[0] . '|' ;
+ }
+ else {
+ return join( '|' , @$element ) ;
+ }
+}
diff --git a/challenge-344/ulrich-rieke/python/ch-1.py b/challenge-344/ulrich-rieke/python/ch-1.py new file mode 100755 index 0000000000..69a55f59e4 --- /dev/null +++ b/challenge-344/ulrich-rieke/python/ch-1.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3
+
+def decompose( number ):
+ digitarray = []
+ while number != 0:
+ digitarray.append( number % 10 )
+ number //= 10
+ result = []
+ for i in reversed( digitarray ):
+ result.append( i )
+ return result
+
+
+startarray = []
+line = input("Enter some integers separated by blanks!\n")
+for w in line.split( ' ' ):
+ startarray.append(int(w))
+line = input( "Enter an integer!\n" )
+x = int(line)
+rightOrder = reversed( startarray )
+total = 0
+pos = 0
+for num in rightOrder:
+ total += num * 10 ** pos
+ pos += 1
+result = total + x
+print( decompose( result ) )
diff --git a/challenge-344/ulrich-rieke/python/ch-2.py b/challenge-344/ulrich-rieke/python/ch-2.py new file mode 100755 index 0000000000..023b42e4d5 --- /dev/null +++ b/challenge-344/ulrich-rieke/python/ch-2.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3
+
+def createNeighbours( vector , length):
+ allNeighbours = []
+ for start in range(0 , len( vector ) - length + 1):
+ neighbours = []
+ for i in range( start , start + length ):
+ neighbours.append( vector[i] )
+ allNeighbours.append( neighbours )
+ return allNeighbours
+
+source = []
+line = input( "Enter some integers , <return> to end!\n" )
+while line:
+ row = []
+ for w in line.split( ' ' ):
+ row.append( int( w ) )
+ source.append( row )
+ line = input( "Enter some integers , <return> to end!\n" )
+target = []
+targetline = input( "Enter some integers to denote the target!\n" )
+for w in targetline.split( ' ' ):
+ target.append( int( w ) )
+totallen = 0
+for v in source:
+ totallen += len(v)
+if totallen != len(target):
+ print( "False" )
+else:
+ results = []
+ for sublist in source:
+ neighbours = createNeighbours( target , len(sublist))
+ results.append( sublist in neighbours )
+ print( all( results ) )
diff --git a/challenge-344/ulrich-rieke/raku/ch-1.raku b/challenge-344/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..ec9e1186eb --- /dev/null +++ b/challenge-344/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,32 @@ +use v6 ;
+
+sub decompose( $number is copy ) {
+ my @digits ;
+ while ( $number != 0 ) {
+ @digits.push( $number % 10 ) ;
+ $number div= 10 ;
+ }
+ my @result = @digits.reverse ;
+ return @result ;
+}
+
+say "Enter some integers separated by blanks!" ;
+my $line = $*IN.get ;
+my @numbers = $line.words.map( {.Int} ) ;
+say "Enter an integer!" ;
+$line = $*IN.get ;
+my $x = +$line ;
+#the task amounts to interpreting the array as an integer number
+#with the numbers as digits and adding this number to $x , decomposing
+#the result thereafter
+my $total = 0 ;
+my @digits = @numbers.reverse ;
+my $pos = 0 ;
+for @digits -> $digit {
+ $total += $digit * 10 ** $pos ;
+ $pos++ ;
+}
+my $result = $total + $x ;
+my @resultArray = decompose( $result ) ;
+say '(' ~ @resultArray.join( ',' ) ~ ')' ;
+
diff --git a/challenge-344/ulrich-rieke/raku/ch-2.raku b/challenge-344/ulrich-rieke/raku/ch-2.raku new file mode 100755 index 0000000000..dd94a4b2a8 --- /dev/null +++ b/challenge-344/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,63 @@ +use v6 ;
+
+sub findNeighbours( $len , @array ) {
+ my $alen = @array.elems ;
+ my @neighbours ;
+ for (0..$alen - $len) -> $start {
+ my @row ;
+ for ( $start..$start + $len - 1 ) -> $i {
+ @row.push( @array[$i] ) ;
+ }
+ @neighbours.push( @row ) ;
+ }
+ return @neighbours ;
+}
+
+#stringify @array for comparison!
+sub convert( @array ) {
+ my $word ;
+ if ( @array.elems == 1 ) {
+ $word ~= (~@array[0] ~ '|') ;
+ }
+ else {
+ $word = @array.join( '|' ) ;
+ }
+ return $word ;
+}
+
+say "Enter some integers, <return> to end!" ;
+my $line = $*IN.get ;
+my @source ;
+while ( $line ) {
+ my @row = $line.words.map( {.Int} ) ;
+ @source.push( @row ) ;
+ say "Enter some integers, <return> to end!" ;
+ $line = $*IN.get ;
+}
+say "Enter some integers for the target!" ;
+my $targetline = $*IN.get ;
+my @target = $targetline.words.map( {.Int} ) ;
+my $sourceelements = 0 ;
+for @source -> @el {
+ $sourceelements += @el.elems ;
+}
+if ( $sourceelements != @target.elems ) {
+ say "False" ;
+}
+else {
+ my @results ;
+ for @source -> @el {
+ my @neighbours = findNeighbours(@el.elems , @target ) ;
+ my %targethash ;
+ for @neighbours -> @found {
+ %targethash{convert( @found )}++ ;
+ }
+ if ( %targethash{ convert( @el ) }:exists ) {
+ @results.push( 1 ) ;
+ }
+ else {
+ @results.push( 0 ) ;
+ }
+ }
+ say so 1 == @results.all ;
+}
diff --git a/challenge-344/ulrich-rieke/rust/ch-1.rs b/challenge-344/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..c6e7c7c8f8 --- /dev/null +++ b/challenge-344/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,32 @@ +use std::io ; + +fn decompose( mut number : u32 ) -> Vec<u32> { + let mut digits : Vec<u32> = Vec::new( ) ; + while number != 0 { + digits.push( number % 10 ) ; + number /= 10 ; + } + let result : Vec<u32> = digits.into_iter( ).rev( ).collect( ) ; + result +} + +fn main() { + println!("Enter some integers separated by blanks!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( & mut inline ).unwrap( ) ; + let digits : Vec<u32> = inline.trim( ).split_whitespace( ).map( + |s| s.parse::<u32>( ).unwrap( )).collect( ) ; + println!("Enter an integer!") ; + inline.clear( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let number : u32 = inline.trim( ).parse::<u32>().unwrap( ) ; + let mut total : u32 = 0 ; + let changed_order : Vec<u32> = digits.into_iter( ).rev( ).collect( ) ; + let mut pos : u32 = 0 ; + changed_order.into_iter( ).map( |d| { + let value : u32 = d * 10u32.pow( pos ) ; + pos += 1 ; + value }).for_each( |n| total += n ) ; + let result : u32 = total + number ; + println!("{:?}" , decompose( result ) ) ; +} diff --git a/challenge-344/ulrich-rieke/rust/ch-2.rs b/challenge-344/ulrich-rieke/rust/ch-2.rs new file mode 100755 index 0000000000..d68a02dfd5 --- /dev/null +++ b/challenge-344/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,36 @@ +use std::io ; + +fn main() { + println!("Enter some number arrays , <return> to end!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let mut source : Vec<Vec<i32>> = Vec::new( ) ; + while inline != "\n".to_string( ) { + let nums : Vec<i32> = inline.trim( ).split_whitespace( ).map( + |s| s.parse::<i32>().unwrap( )).collect( ) ; + source.push( nums.clone( ) ) ; + inline.clear( ) ; + println!("Enter some number arrays , <return> to end!") ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + } + println!("Enter a target array!") ; + let mut targetline : String = String::new( ) ; + io::stdin( ).read_line( &mut targetline ).unwrap( ) ; + let target : Vec<i32> = targetline.trim( ).split_whitespace( ). + map( |s| s.parse::<i32>().unwrap( )).collect( ) ; + let mut source_elements : usize = 0 ; + source.iter( ).map( |v| v.len( )).for_each( |d| source_elements += d ) ; + if source_elements != target.len( ) { + println!("false") ; + } + else { + let condition : bool = source.into_iter( ).all( |v| { + let searched = &v[..] ; + let targetslice = &target[..] ; + let neighbours : Vec<&[i32]> = targetslice.windows( v.len( ) ) + .collect( ) ; + neighbours.iter( ).find( |&&n| n == searched ).is_some( ) + }) ; + println!("{}" , condition ) ; + } +} diff --git a/stats/pwc-challenge-332.json b/stats/pwc-challenge-332.json index 7a3585b0a8..2db1ff8aeb 100644 --- a/stats/pwc-challenge-332.json +++ b/stats/pwc-challenge-332.json @@ -185,6 +185,16 @@ { "data" : [ [ + "Perl", + 2 + ] + ], + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch" + }, + { + "data" : [ + [ "Raku", 2 ], @@ -528,6 +538,11 @@ "y" : 2 }, { + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "y" : 2 + }, + { "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari", "y" : 12 @@ -632,7 +647,7 @@ } ], "subtitle" : { - "text" : "[Champions: 35] Last updated at 2025-08-19 11:04:11 GMT" + "text" : "[Champions: 36] Last updated at 2025-10-21 16:05:30 GMT" }, "title" : { "text" : "The Weekly Challenge - 332" diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 2610e5f92d..0955c32ef8 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -49,6 +49,26 @@ [ "Raku", 2 + ] + ], + "id" : "Feng Chang", + "name" : "Feng Chang" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch" + }, + { + "data" : [ + [ + "Raku", + 2 ], [ "Blog", @@ -99,6 +119,24 @@ 2 ], [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Packy Anderson", + "name" : "Packy Anderson" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ "Blog", 1 ] @@ -111,6 +149,34 @@ [ "Perl", 2 + ], + [ + "Blog", + 2 + ] + ], + "id" : "Thomas Kohler", + "name" : "Thomas Kohler" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke" + }, + { + "data" : [ + [ + "Perl", + 2 ] ], "id" : "Vinod Kumar K", @@ -179,6 +245,16 @@ "y" : 2 }, { + "drilldown" : "Feng Chang", + "name" : "Feng Chang", + "y" : 2 + }, + { + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch", + "y" : 2 + }, + { "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari", "y" : 4 @@ -199,11 +275,26 @@ "y" : 2 }, { + "drilldown" : "Packy Anderson", + "name" : "Packy Anderson", + "y" : 5 + }, + { "drilldown" : "Peter Campbell Smith", "name" : "Peter Campbell Smith", "y" : 3 }, { + "drilldown" : "Thomas Kohler", + "name" : "Thomas Kohler", + "y" : 4 + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 4 + }, + { "drilldown" : "Vinod Kumar K", "name" : "Vinod Kumar K", "y" : 2 @@ -223,7 +314,7 @@ } ], "subtitle" : { - "text" : "[Champions: 12] Last updated at 2025-10-20 19:34:28 GMT" + "text" : "[Champions: 17] Last updated at 2025-10-21 16:07:16 GMT" }, "title" : { "text" : "The Weekly Challenge - 344" diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 0724960da2..3d240a46f8 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-10-20 19:34:28 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-10-21 16:07:16 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json index 1a5fe4b357..3019a7f99d 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-10-20 19:34:28 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-10-21 16:07:16 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2021.json b/stats/pwc-language-breakdown-2021.json index 9385198640..4b67075b1d 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-10-20 19:34:28 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-10-21 16:07:16 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2022.json b/stats/pwc-language-breakdown-2022.json index 3d3e8430d4..8b499a9263 100644 --- a/< |
