From a799bc96049a853dae3a0b8bf14c4eb581a4a4ba Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Tue, 13 May 2025 13:30:54 +0100 Subject: - Added solutions by Eric Cheung. - Added solutions by Ulrich Rieke. - Added solutions by Mark Anderson. - Added solutions by Feng Chang. - Added solutions by E. Choroba. - Added solutions by Niels van Dijke. - Added solutions by Andreas Mahnke. - Added solutions by Luca Ferrari. - Added solutions by Andrew Shitov. - Added solutions by Ali Moradi. - Added solutions by W. Luis Mochan. - Added solutions by David Ferrone. - Added solutions by Conor Hoekstra. - Added solutions by Peter Meszaros. - Added solutions by Robert Ransbottom. - Added solutions by Peter Campbell Smith. - Added solutions by Robbie Hatley. --- challenge-320/perlboy1967/perl/ch-1.pl | 39 ++ challenge-320/perlboy1967/perl/ch-2.pl | 39 ++ challenge-320/perlboy1967/perl/ch1.pl | 39 -- challenge-320/perlboy1967/perl/ch2.pl | 39 -- challenge-321/conor-hoekstra/bqn/ch-1.bqn | 15 + challenge-321/conor-hoekstra/bqn/ch-2.bqn | 12 + challenge-321/conor-hoekstra/ch-1.bqn | 15 - challenge-321/conor-hoekstra/ch-2.bqn | 12 - challenge-321/eric-cheung/python/ch-1.py | 19 + challenge-321/eric-cheung/python/ch-2.py | 29 ++ challenge-321/perlboy1967/perl/ch-1.pl | 39 ++ challenge-321/perlboy1967/perl/ch-2.pl | 36 ++ challenge-321/perlboy1967/perl/ch1.pl | 39 -- challenge-321/perlboy1967/perl/ch2.pl | 36 -- challenge-321/ulrich-rieke/cpp/ch-1.cpp | 38 ++ challenge-321/ulrich-rieke/cpp/ch-2.cpp | 32 ++ challenge-321/ulrich-rieke/haskell/ch-1.hs | 22 ++ challenge-321/ulrich-rieke/haskell/ch-2.hs | 21 ++ challenge-321/ulrich-rieke/perl/ch-1.pl | 21 ++ challenge-321/ulrich-rieke/perl/ch-2.pl | 23 ++ challenge-321/ulrich-rieke/raku/ch-1.raku | 13 + challenge-321/ulrich-rieke/raku/ch-2.raku | 21 ++ challenge-321/ulrich-rieke/rust/ch-1.rs | 23 ++ challenge-321/ulrich-rieke/rust/ch-2.rs | 26 ++ stats/pwc-challenge-320.json | 574 +++++++++++++++++++++++++++++ stats/pwc-current.json | 277 +------------- 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 | 31 +- stats/pwc-language-breakdown-summary.json | 8 +- stats/pwc-leaders.json | 66 ++-- stats/pwc-summary-1-30.json | 10 +- 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 | 8 +- stats/pwc-summary-271-300.json | 2 +- stats/pwc-summary-301-330.json | 10 +- stats/pwc-summary-31-60.json | 2 +- stats/pwc-summary-61-90.json | 8 +- stats/pwc-summary-91-120.json | 2 +- stats/pwc-summary.json | 46 +-- stats/pwc-yearly-language-summary.json | 10 +- 48 files changed, 1187 insertions(+), 549 deletions(-) create mode 100755 challenge-320/perlboy1967/perl/ch-1.pl create mode 100755 challenge-320/perlboy1967/perl/ch-2.pl delete mode 100755 challenge-320/perlboy1967/perl/ch1.pl delete mode 100755 challenge-320/perlboy1967/perl/ch2.pl create mode 100644 challenge-321/conor-hoekstra/bqn/ch-1.bqn create mode 100644 challenge-321/conor-hoekstra/bqn/ch-2.bqn delete mode 100644 challenge-321/conor-hoekstra/ch-1.bqn delete mode 100644 challenge-321/conor-hoekstra/ch-2.bqn create mode 100755 challenge-321/eric-cheung/python/ch-1.py create mode 100755 challenge-321/eric-cheung/python/ch-2.py create mode 100755 challenge-321/perlboy1967/perl/ch-1.pl create mode 100755 challenge-321/perlboy1967/perl/ch-2.pl delete mode 100755 challenge-321/perlboy1967/perl/ch1.pl delete mode 100755 challenge-321/perlboy1967/perl/ch2.pl create mode 100755 challenge-321/ulrich-rieke/cpp/ch-1.cpp create mode 100755 challenge-321/ulrich-rieke/cpp/ch-2.cpp create mode 100755 challenge-321/ulrich-rieke/haskell/ch-1.hs create mode 100755 challenge-321/ulrich-rieke/haskell/ch-2.hs create mode 100755 challenge-321/ulrich-rieke/perl/ch-1.pl create mode 100755 challenge-321/ulrich-rieke/perl/ch-2.pl create mode 100755 challenge-321/ulrich-rieke/raku/ch-1.raku create mode 100755 challenge-321/ulrich-rieke/raku/ch-2.raku create mode 100755 challenge-321/ulrich-rieke/rust/ch-1.rs create mode 100755 challenge-321/ulrich-rieke/rust/ch-2.rs create mode 100644 stats/pwc-challenge-320.json diff --git a/challenge-320/perlboy1967/perl/ch-1.pl b/challenge-320/perlboy1967/perl/ch-1.pl new file mode 100755 index 0000000000..54b17cf0db --- /dev/null +++ b/challenge-320/perlboy1967/perl/ch-1.pl @@ -0,0 +1,39 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 320 +L + +Author: Niels 'PerlBoy' van Dijke + +Task 1: Maximum Count +Submitted by: Mohammad Sajid Anwar + +You are given an array of integers. + +Write a script to return the maximum between the number of positive and +negative integers. Zero is neither positive nor negative. + +=cut + +use v5.32; +use common::sense; +use feature qw(signatures); +use Test2::V0 qw(-no_srand); +no warnings qw(experimental::signatures); + +use List::AllUtils qw(max); + +sub maximumCount (@ints) { + my %c; + $c{$_ <=> 0}++ for (@ints); + delete $c{0}; + return max(values %c); +} + +is(3,maximumCount(-3,-2,-1,1,2,3),'Example 1'); +is(2,maximumCount(-2,-1,0,0,1),'Example 2'); +is(4,maximumCount(1,2,3,4),'Example 3'); + +done_testing; diff --git a/challenge-320/perlboy1967/perl/ch-2.pl b/challenge-320/perlboy1967/perl/ch-2.pl new file mode 100755 index 0000000000..dcf0ece082 --- /dev/null +++ b/challenge-320/perlboy1967/perl/ch-2.pl @@ -0,0 +1,39 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 320 +L + +Author: Niels 'PerlBoy' van Dijke + +Task 2: Sum Difference +Submitted by: Mohammad Sajid Anwar + +You are given an array of positive integers. + +Write a script to return the absolute difference between digit sum and +element sum of the given array. + +=cut + +use v5.32; +use common::sense; +use feature qw(signatures); +use Test2::V0 qw(-no_srand); +no warnings qw(experimental::signatures); + +sub sumDifference (@ints) { + my ($eSum,$dSum) = (0,0); + for (@ints) { + $eSum += $_; + $dSum += $_ for (split//,$_); + } + return abs($eSum-$dSum); +} + +is(18,sumDifference(1,23,4,5),'Example 1'); +is(0,sumDifference(1,2,3,4,5),'Example 2'); +is(27,sumDifference(1,2,34),'Example 3'); + +done_testing; diff --git a/challenge-320/perlboy1967/perl/ch1.pl b/challenge-320/perlboy1967/perl/ch1.pl deleted file mode 100755 index 54b17cf0db..0000000000 --- a/challenge-320/perlboy1967/perl/ch1.pl +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/perl - -=pod - -The Weekly Challenge - 320 -L - -Author: Niels 'PerlBoy' van Dijke - -Task 1: Maximum Count -Submitted by: Mohammad Sajid Anwar - -You are given an array of integers. - -Write a script to return the maximum between the number of positive and -negative integers. Zero is neither positive nor negative. - -=cut - -use v5.32; -use common::sense; -use feature qw(signatures); -use Test2::V0 qw(-no_srand); -no warnings qw(experimental::signatures); - -use List::AllUtils qw(max); - -sub maximumCount (@ints) { - my %c; - $c{$_ <=> 0}++ for (@ints); - delete $c{0}; - return max(values %c); -} - -is(3,maximumCount(-3,-2,-1,1,2,3),'Example 1'); -is(2,maximumCount(-2,-1,0,0,1),'Example 2'); -is(4,maximumCount(1,2,3,4),'Example 3'); - -done_testing; diff --git a/challenge-320/perlboy1967/perl/ch2.pl b/challenge-320/perlboy1967/perl/ch2.pl deleted file mode 100755 index dcf0ece082..0000000000 --- a/challenge-320/perlboy1967/perl/ch2.pl +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/perl - -=pod - -The Weekly Challenge - 320 -L - -Author: Niels 'PerlBoy' van Dijke - -Task 2: Sum Difference -Submitted by: Mohammad Sajid Anwar - -You are given an array of positive integers. - -Write a script to return the absolute difference between digit sum and -element sum of the given array. - -=cut - -use v5.32; -use common::sense; -use feature qw(signatures); -use Test2::V0 qw(-no_srand); -no warnings qw(experimental::signatures); - -sub sumDifference (@ints) { - my ($eSum,$dSum) = (0,0); - for (@ints) { - $eSum += $_; - $dSum += $_ for (split//,$_); - } - return abs($eSum-$dSum); -} - -is(18,sumDifference(1,23,4,5),'Example 1'); -is(0,sumDifference(1,2,3,4,5),'Example 2'); -is(27,sumDifference(1,2,34),'Example 3'); - -done_testing; diff --git a/challenge-321/conor-hoekstra/bqn/ch-1.bqn b/challenge-321/conor-hoekstra/bqn/ch-1.bqn new file mode 100644 index 0000000000..a67f8afb62 --- /dev/null +++ b/challenge-321/conor-hoekstra/bqn/ch-1.bqn @@ -0,0 +1,15 @@ +# For up to date code: +# https://github.com/codereport/bqn-code/blob/main/pwc/321-1.bqn + +u ⇐ •Import "/home/cph/bqn-test/test.bqn" + +DistinctAverage ← { ≠⍷+˝⌽⌾⊏2‿∘⥊∧𝕩 } # Explicit +DistinctAverage2 ← ≠·⍷·+˝·⌽⌾⊏2‿∘⥊∧ # Tacit + +# Tests +u.UnitTest (DistinctAverage ⟨1, 2, 4, 3, 5, 6⟩) ≡ 1 +u.UnitTest (DistinctAverage ⟨0, 2, 4, 8, 3, 5⟩) ≡ 2 +u.UnitTest (DistinctAverage ⟨7, 3, 1, 0, 5, 9⟩) ≡ 2 +u.UnitTest (DistinctAverage2 ⟨1, 2, 4, 3, 5, 6⟩) ≡ 1 +u.UnitTest (DistinctAverage2 ⟨0, 2, 4, 8, 3, 5⟩) ≡ 2 +u.UnitTest (DistinctAverage2 ⟨7, 3, 1, 0, 5, 9⟩) ≡ 2 diff --git a/challenge-321/conor-hoekstra/bqn/ch-2.bqn b/challenge-321/conor-hoekstra/bqn/ch-2.bqn new file mode 100644 index 0000000000..8a98af3d4a --- /dev/null +++ b/challenge-321/conor-hoekstra/bqn/ch-2.bqn @@ -0,0 +1,12 @@ +# For up to date code: +# https://github.com/codereport/bqn-code/blob/main/pwc/321-2.bqn + +u ⇐ •Import "/home/cph/bqn-test/test.bqn" + +Norm ← 0>·(⊢⌈+)`⌾⌽·-⟜¬'#'=⊢ +BackspaceCompare ← ≡○Norm + +# Tests +u.UnitTest ("ad#c" BackspaceCompare "ab#c") ≡ 1 +u.UnitTest ("ab##" BackspaceCompare "a#b#") ≡ 1 +u.UnitTest ( "a#b" BackspaceCompare "c" ) ≡ 0 diff --git a/challenge-321/conor-hoekstra/ch-1.bqn b/challenge-321/conor-hoekstra/ch-1.bqn deleted file mode 100644 index a67f8afb62..0000000000 --- a/challenge-321/conor-hoekstra/ch-1.bqn +++ /dev/null @@ -1,15 +0,0 @@ -# For up to date code: -# https://github.com/codereport/bqn-code/blob/main/pwc/321-1.bqn - -u ⇐ •Import "/home/cph/bqn-test/test.bqn" - -DistinctAverage ← { ≠⍷+˝⌽⌾⊏2‿∘⥊∧𝕩 } # Explicit -DistinctAverage2 ← ≠·⍷·+˝·⌽⌾⊏2‿∘⥊∧ # Tacit - -# Tests -u.UnitTest (DistinctAverage ⟨1, 2, 4, 3, 5, 6⟩) ≡ 1 -u.UnitTest (DistinctAverage ⟨0, 2, 4, 8, 3, 5⟩) ≡ 2 -u.UnitTest (DistinctAverage ⟨7, 3, 1, 0, 5, 9⟩) ≡ 2 -u.UnitTest (DistinctAverage2 ⟨1, 2, 4, 3, 5, 6⟩) ≡ 1 -u.UnitTest (DistinctAverage2 ⟨0, 2, 4, 8, 3, 5⟩) ≡ 2 -u.UnitTest (DistinctAverage2 ⟨7, 3, 1, 0, 5, 9⟩) ≡ 2 diff --git a/challenge-321/conor-hoekstra/ch-2.bqn b/challenge-321/conor-hoekstra/ch-2.bqn deleted file mode 100644 index 8a98af3d4a..0000000000 --- a/challenge-321/conor-hoekstra/ch-2.bqn +++ /dev/null @@ -1,12 +0,0 @@ -# For up to date code: -# https://github.com/codereport/bqn-code/blob/main/pwc/321-2.bqn - -u ⇐ •Import "/home/cph/bqn-test/test.bqn" - -Norm ← 0>·(⊢⌈+)`⌾⌽·-⟜¬'#'=⊢ -BackspaceCompare ← ≡○Norm - -# Tests -u.UnitTest ("ad#c" BackspaceCompare "ab#c") ≡ 1 -u.UnitTest ("ab##" BackspaceCompare "a#b#") ≡ 1 -u.UnitTest ( "a#b" BackspaceCompare "c" ) ≡ 0 diff --git a/challenge-321/eric-cheung/python/ch-1.py b/challenge-321/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..6bd299ac82 --- /dev/null +++ b/challenge-321/eric-cheung/python/ch-1.py @@ -0,0 +1,19 @@ + +## arrNums = [1, 2, 4, 3, 5, 6] ## Example 1 +## arrNums = [0, 2, 4, 8, 3, 5] ## Example 2 +arrNums = [7, 3, 1, 0, 5, 9] ## Example 3 + +arrNums = sorted(arrNums) + +arrAvg = [] + +while len(arrNums) > 0: + nMax = arrNums[-1] + nMin = arrNums[0] + + arrAvg.append((nMax + nMin) / 2) + + arrNums.pop(-1) + arrNums.pop(0) + +print (len(set(arrAvg))) diff --git a/challenge-321/eric-cheung/python/ch-2.py b/challenge-321/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..092cd5378f --- /dev/null +++ b/challenge-321/eric-cheung/python/ch-2.py @@ -0,0 +1,29 @@ + +def GetRefineStr (strInput): + arrTemp = list(strInput) + while "#" in arrTemp: + nPosBackSpace = arrTemp.index("#") + arrTemp.pop(nPosBackSpace) + arrTemp.pop(nPosBackSpace - 1) + + return "".join(arrTemp) + +## Example 1 +## strInput_01 = "ab#c" +## strInput_02 = "ad#c" + +## Example 2 +## strInput_01 = "ab##" +## strInput_02 = "a#b#" + +## Example 3 +strInput_01 = "a#b" +strInput_02 = "c" + +strInput_01_rev = GetRefineStr(strInput_01) +strInput_02_rev = GetRefineStr(strInput_02) + +## print (strInput_01_rev) +## print (strInput_02_rev) + +print (strInput_01_rev == strInput_02_rev) diff --git a/challenge-321/perlboy1967/perl/ch-1.pl b/challenge-321/perlboy1967/perl/ch-1.pl new file mode 100755 index 0000000000..36a3e5678b --- /dev/null +++ b/challenge-321/perlboy1967/perl/ch-1.pl @@ -0,0 +1,39 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 321 +L + +Author: Niels 'PerlBoy' van Dijke + +Task 1: Distinct Average +Submitted by: Mohammad Sajid Anwar + +You are given an array of numbers with even length. + +Write a script to return the count of distinct average. The average is +calculate by removing the minimum and the maximum, then average of the two. + +=cut + +use v5.32; +use common::sense; +use feature qw(signatures); +use Test2::V0 qw(-no_srand); +no warnings qw(experimental::signatures); + +sub distinctAverage (@ints) { + my %f; + @ints = sort { $a <=> $b } @ints; + $f{(shift(@ints)+pop(@ints))/2}++ while (@ints > 1); + $f{$ints[0]}++ if @ints; + return (sort { $a <=> $b } values %f)[-1]; +} + +is(distinctAverage(1,2,4,3,5,6),3,'Example 1'); +is(distinctAverage(0,2,4,8,3,5),2,'Example 2'); +is(distinctAverage(7,3,1,0,5,9),2,'Example 3'); +is(distinctAverage(1,2,3,4,5),3,'Own example'); + +done_testing; diff --git a/challenge-321/perlboy1967/perl/ch-2.pl b/challenge-321/perlboy1967/perl/ch-2.pl new file mode 100755 index 0000000000..e8f7b52389 --- /dev/null +++ b/challenge-321/perlboy1967/perl/ch-2.pl @@ -0,0 +1,36 @@ +#!/bin/perl + +=pod + +The Weekly Challenge - 321 +L + +Author: Niels 'PerlBoy' van Dijke + +Task 2: Backspace Compare +Submitted by: Mohammad Sajid Anwar + +You are given two strings containing zero or more #. + +Write a script to return true if the two given strings are same by treating # as backspace. + +=cut + +use v5.32; +use common::sense; +use feature qw(signatures); +use Test2::V0 qw(-no_srand); +no warnings qw(experimental::signatures); + +use boolean; + +sub backspaceCompare ($s1,$s2) { + map { 1 while (s/[^#]#//) } $s1,$s2; + boolean ($s1 eq $s2); +} + +is(true, backspaceCompare('ab#c','ad#c'),'Example 1'); +is(true, backspaceCompare('ab##','a#b#'),'Example 2'); +is(false,backspaceCompare('a#b','c'),'Example 3'); + +done_testing; diff --git a/challenge-321/perlboy1967/perl/ch1.pl b/challenge-321/perlboy1967/perl/ch1.pl deleted file mode 100755 index 36a3e5678b..0000000000 --- a/challenge-321/perlboy1967/perl/ch1.pl +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/perl - -=pod - -The Weekly Challenge - 321 -L - -Author: Niels 'PerlBoy' van Dijke - -Task 1: Distinct Average -Submitted by: Mohammad Sajid Anwar - -You are given an array of numbers with even length. - -Write a script to return the count of distinct average. The average is -calculate by removing the minimum and the maximum, then average of the two. - -=cut - -use v5.32; -use common::sense; -use feature qw(signatures); -use Test2::V0 qw(-no_srand); -no warnings qw(experimental::signatures); - -sub distinctAverage (@ints) { - my %f; - @ints = sort { $a <=> $b } @ints; - $f{(shift(@ints)+pop(@ints))/2}++ while (@ints > 1); - $f{$ints[0]}++ if @ints; - return (sort { $a <=> $b } values %f)[-1]; -} - -is(distinctAverage(1,2,4,3,5,6),3,'Example 1'); -is(distinctAverage(0,2,4,8,3,5),2,'Example 2'); -is(distinctAverage(7,3,1,0,5,9),2,'Example 3'); -is(distinctAverage(1,2,3,4,5),3,'Own example'); - -done_testing; diff --git a/challenge-321/perlboy1967/perl/ch2.pl b/challenge-321/perlboy1967/perl/ch2.pl deleted file mode 100755 index e8f7b52389..0000000000 --- a/challenge-321/perlboy1967/perl/ch2.pl +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/perl - -=pod - -The Weekly Challenge - 321 -L - -Author: Niels 'PerlBoy' van Dijke - -Task 2: Backspace Compare -Submitted by: Mohammad Sajid Anwar - -You are given two strings containing zero or more #. - -Write a script to return true if the two given strings are same by treating # as backspace. - -=cut - -use v5.32; -use common::sense; -use feature qw(signatures); -use Test2::V0 qw(-no_srand); -no warnings qw(experimental::signatures); - -use boolean; - -sub backspaceCompare ($s1,$s2) { - map { 1 while (s/[^#]#//) } $s1,$s2; - boolean ($s1 eq $s2); -} - -is(true, backspaceCompare('ab#c','ad#c'),'Example 1'); -is(true, backspaceCompare('ab##','a#b#'),'Example 2'); -is(false,backspaceCompare('a#b','c'),'Example 3'); - -done_testing; diff --git a/challenge-321/ulrich-rieke/cpp/ch-1.cpp b/challenge-321/ulrich-rieke/cpp/ch-1.cpp new file mode 100755 index 0000000000..6dc8d9402b --- /dev/null +++ b/challenge-321/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,38 @@ +#include +#include +#include +#include +#include +#include + +std::vector split( const std::string & text , char delimiter ) { + std::vector tokens ; + std::string word ; + std::istringstream istr { text } ; + while ( std::getline( istr , word , delimiter ) ) + tokens.push_back( word ) ; + return tokens ; +} + +int main( ) { + std::cout << "Enter some numbers , their total number must be even!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + auto tokens { split( line , ' ' ) } ; + std::vector numbers ; + for ( auto s : tokens ) + numbers.push_back( std::stod( s ) ) ; + std::set averages ; + while ( numbers.size( ) > 0 ) { + auto maxpos = std::max_element( numbers.begin( ) , numbers.end( ) ) ; + auto maxi = *maxpos ; + numbers.erase( maxpos ) ; + auto minpos = std::min_element( numbers.begin( ) , numbers.end( ) ) ; + auto mini = *minpos ; + numbers.erase( minpos ) ; + double average = ( maxi + mini ) / 2.0 ; + averages.insert( average ) ; + } + std::cout << averages.size( ) << '\n' ; + return 0 ; +} diff --git a/challenge-321/ulrich-rieke/cpp/ch-2.cpp b/challenge-321/ulrich-rieke/cpp/ch-2.cpp new file mode 100755 index 0000000000..caf736cbfb --- /dev/null +++ b/challenge-321/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,32 @@ +#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 ; +} + +std::string reduceStr( std::string word ) { + auto it = word.find( "#" ) ; + while ( it != std::string::npos ) { + word = word.erase( --it , 2 ) ; + it = word.find( "#" ) ; + } + return word ; +} + +int main( ) { + std::cout << "Enter 2 words witz zero or more #!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + auto tokens { split( line , ' ' ) } ; + std::cout << std::boolalpha << ( reduceStr( tokens[0] ) == + reduceStr( tokens[1] ) ) << '\n' ; + return 0 ; +} diff --git a/challenge-321/ulrich-rieke/haskell/ch-1.hs b/challenge-321/ulrich-rieke/haskell/ch-1.hs new file mode 100755 index 0000000000..775fbe86cd --- /dev/null +++ b/challenge-321/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,22 @@ +module Challenge321 + where +import qualified Data.Set as S +import Data.List( sort ) +--the basic idea is : we sort the list and then pair the smallest with the +--largest element, the second smallest with the second largest and so on +--by zipping the first half of the sorted element with the reversed second half + +solution :: [Double] -> Int +solution list = + let + sorted = sort list + half = div (length sorted) 2 + zipped = zip ( take half sorted ) ( reverse $ drop half sorted ) + averages = S.fromList $ map (\p -> ( fst p + snd p ) / 2.0 ) zipped + in S.size averages + +main :: IO ( ) +main = do + putStrLn "Enter an even number of numbers separated by whitespace!" + numberline <- getLine + print $ solution $ map read $ words numberline diff --git a/challenge-321/ulrich-rieke/haskell/ch-2.hs b/challenge-321/ulrich-rieke/haskell/ch-2.hs new file mode 100755 index 0000000000..6652e6c2d8 --- /dev/null +++ b/challenge-321/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,21 @@ +module Challenge321_2 + where +import Data.List ( findIndex ) + +reduceStr :: String -> String +reduceStr str = until ( not . elem '#' ) myReduce str + where + myReduce :: String -> String + myReduce intermediate = case findIndex ( == '#' ) intermediate of + Just pos -> take ( pos - 1 ) intermediate ++ drop ( pos + 1 ) + intermediate + Nothing -> intermediate + +solution :: [String] -> Bool +solution list = reduceStr (head list) == reduceStr( last list ) + +main :: IO ( ) +main = do + putStrLn "Enter 2 strings with zero or more #!" + stringline <- getLine + print $ solution $ words stringline diff --git a/challenge-321/ulrich-rieke/perl/ch-1.pl b/challenge-321/ulrich-rieke/perl/ch-1.pl new file mode 100755 index 0000000000..117ad4a2cc --- /dev/null +++ b/challenge-321/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +#the basic idea is : sort the numbers and then pair the smallest with the largest, +#the second smallest with the second largest and so on. Count the number of +#different averages! + +say "Enter an even number of numbers separated by blanks!" ; +my $line = ; +chomp $line ; +my @numbers = split( /\s/ , $line ) ; +my @sorted = sort { $a <=> $b } @numbers ; +my %averages ; +my $len = scalar( @sorted ) ; +for my $i (0.. $len / 2 - 1 ) { + my $average = ($sorted[ $i ] + $sorted[ $len - $i - 1 ]) / 2 ; + $averages{$average}++ ; +} +say scalar( keys %averages ) ; diff --git a/challenge-321/ulrich-rieke/perl/ch-2.pl b/challenge-321/ulrich-rieke/perl/ch-2.pl new file mode 100755 index 0000000000..7c717563ef --- /dev/null +++ b/challenge-321/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,23 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; + +sub reduceStr { + my $string = shift ; + while ( $string =~ s/[^#]#//g ) { + } + return $string ; +} + +say "Enter 2 strings with zero or more #!" ; +my $line = ; +chomp $line ; +my @words = split( /\s/ , $line ) ; +if ( reduceStr( $words[0] ) eq reduceStr( $words[1] )) { + say "true" ; +} +else { + say "false" ; +} + diff --git a/challenge-321/ulrich-rieke/raku/ch-1.raku b/challenge-321/ulrich-rieke/raku/ch-1.raku new file mode 100755 index 0000000000..cb2c60c6ee --- /dev/null +++ b/challenge-321/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,13 @@ +use v6 ; + +say "Enter an even number of numbers , separated by blanks!" ; +my $line = $*IN.get ; +my @numbers = $line.words.map( {+$_} ) ; +my %averages ; +my @sorted = @numbers.sort( {$^a <=> $^b} ) ; +my $len = @numbers.elems ; +for (0..$len div 2 - 1 ) -> $pos { + my $average = (@sorted[$pos] + @sorted[$len - $pos - 1] ) / 2.0 ; + %averages{$average}++ ; +} +say %averages.keys.elems ; diff --git a/challenge-321/ulrich-rieke/raku/ch-2.raku b/challenge-321/ulrich-rieke/raku/ch-2.raku new file mode 100755 index 0000000000..ce0c7e20ad --- /dev/null +++ b/challenge-321/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,21 @@ +use v6 ; + +sub reduceStr( $string is rw ) { + while ( $string ~~ /'#'/ ) { + my $pos = $string.index( '#' ) ; + my $firstpart = $string.substr( 0 , $pos - 1 ) ; + if ( $pos < $string.chars - 1 ) { + my $secondpart = $string.substr( $pos + 1 ) ; + $string = $firstpart ~ $secondpart ; + } + else { + $string = $firstpart ; + } + } + return $string ; +} + +say "Enter 2 strings with zero or more #!" ; +my $line = $*IN.get ; +my @words = $line.words ; +say (reduceStr(@words[0]) eq reduceStr(@words[1])) ; diff --git a/challenge-321/ulrich-rieke/rust/ch-1.rs b/challenge-321/ulrich-rieke/rust/ch-1.rs new file mode 100755 index 0000000000..3c0e5fd50a --- /dev/null +++ b/challenge-321/ulrich-rieke/rust/ch-1.rs @@ -0,0 +1,23 @@ +use std::io ; +use std::collections::HashSet ; + +fn main() { + println!("Enter some numbers, separated by blanks!"); + println!("The length of the number array should be even!" ) ; + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let mut numbers : Vec = inline.trim( ).split_whitespace( ).map( |s| + s.parse::().unwrap( ) ).collect( ) ; + //in order to collect all the f32 averages in a HashSet one has + //to convert every f32 average into a string since f32 doesn't fulfil + //the necessary traits! + let mut averages : HashSet = HashSet::new( ) ; + numbers.sort_by(|a , b| a.partial_cmp(b).unwrap( ) ) ; + let len : usize = numbers.len( ) ; + for i in 0..len / 2 { + let average : f32 = ( numbers[i] + numbers[ len - i - 1] ) / 2.0 ; + let aver_str = average.to_string( ) ; + averages.insert( aver_str ) ; + } + println!("{}" , averages.len( ) ) ; +} diff --git a/challenge-321/ulrich-rieke/rust/ch-2.rs b/challenge-321/ulrich-rieke/rust/ch-2.rs new file mode 100755 index 0000000000..1ce79d2354 --- /dev/null +++ b/challenge-321/ulrich-rieke/rust/ch-2.rs @@ -0,0 +1,26 @@ +use std::io ; + +fn reduce_str( word : &str ) -> String { + let len : usize = word.chars( ).count( ) ; + let mut my_word : String = word.into( ) ; + while let Some( pos ) = my_word.find( "#" ) { + let first_part : &str = &my_word[..pos - 1] ; + if pos < len - 1 { + let second_part : &str = &my_word[pos + 1..] ; + let first_str : String = first_part.into( ) ; + my_word = first_str + second_part ; + } + else { + my_word = first_part.into( ) ; + } + } + my_word +} + +fn main() { + println!("Enter 2 words with zero or more #!"); + let mut inline : String = String::new( ) ; + io::stdin( ).read_line( &mut inline ).unwrap( ) ; + let words : Vec<&str> = inline.trim( ).split_whitespace( ).collect( ) ; + println!("{}" , reduce_str( words[0] ) == reduce_str( words[1] ) ) ; +} diff --git a/stats/pwc-challenge-320.json b/stats/pwc-challenge-320.json new file mode 100644 index 0000000000..1c487759b1 --- /dev/null +++ b/stats/pwc-challenge-320.json @@ -0,0 +1,574 @@ +{ + "chart" : { + "type" : "column" + }, + "drilldown" : { + "series" : [ + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "id" : "Adam Russell", + "name" : "Adam Russell" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Ali Moradi", + "name" : "Ali Moradi" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Andreas Mahnke", + "name" : "Andreas Mahnke" + }, + { + "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 + ] + ], + "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", + 2 + ] + ], + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Matthias Muth", + "name" : "Matthias Muth" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" + }, + { + "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" : [ + [ + "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", + "name" : "Vinod Kumar K" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Wanderdoc", + "name" : "Wanderdoc" + } + ] + }, + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Adam Russell", + "name" : "Adam Russell", + "y" : 4 + }, + { + "drilldown" : "Ali Moradi", + "name" : "Ali Moradi", + "y" : 3 + }, + { + "drilldown" : "Andreas Mahnke", + "name" : "Andreas Mahnke", + "y" : 2 + }, + { + "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" : 2 + }, + { + "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" : 4 + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "drilldown" : "Matthias Muth", + "name" : "Matthias Muth", + "y" : 3 + }, + { + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "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" : "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 + }, + { + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan", + "y" : 3 + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 2 + } + ], + "name" : "The Weekly Challenge - 320" + } + ], + "subtitle" : { + "text" : "[Champions: 30] Last updated at 2025-05-13 12:30:14 GMT" + }, + "title" : { + "text" : "The Weekly Challenge - 320" + }, + "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 1279b41ba3..4e50088ca6 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -4,20 +4,6 @@ }, "drilldown" : { "series" : [ - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 2 - ] - ], - "id" : "Adam Russell", - "name" : "Adam Russell" - }, { "data" : [ [ @@ -52,54 +38,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 - ] - ], - "id" : "Bob Lied", - "name" : "Bob Lied" - }, { "data" : [ [ @@ -132,55 +70,13 @@ }, { "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", - 2 + 10 ] ], "id" : "Luca Ferrari", @@ -201,32 +97,10 @@ [ "Perl", 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Matthias Muth", - "name" : "Matthias Muth" - }, - { - "data" : [ - [ - "Perl", - 2 - ], - [ - "Raku", - 2 - ], - [ - "Blog", - 1 ] ], - "id" : "Packy Anderson", - "name" : "Packy Anderson" + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { "data" : [ @@ -268,49 +142,13 @@ }, { "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" : [ - [ - "Perl", - 2 - ], - [ - "Blog", - 2 - ] - ], - "id" : "Thomas Kohler", - "name" : "Thomas Kohler" + "id" : "Robert Ransbottom", + "name" : "Robert Ransbottom" }, { "data" : [ @@ -326,16 +164,6 @@ "id" : "Ulrich Rieke", "name" : "Ulrich Rieke" }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Vinod Kumar K", - "name" : "Vinod Kumar K" - }, { "data" : [ [ @@ -349,16 +177,6 @@ ], "id" : "W. Luis Mochan", "name" : "W. Luis Mochan" - }, - { - "data" : [ - [ - "Perl", - 2 - ] - ], - "id" : "Wanderdoc", - "name" : "Wanderdoc" } ] }, @@ -378,11 +196,6 @@ { "colorByPoint" : 1, "data" : [ - { - "drilldown" : "Adam Russell", - "name" : "Adam Russell", - "y" : 4 - }, { "drilldown" : "Ali Moradi", "name" : "Ali Moradi", @@ -398,26 +211,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" : 2 - }, { "drilldown" : "David Ferrone", "name" : "David Ferrone", @@ -433,25 +226,10 @@ "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" : 4 + "y" : 12 }, { "drilldown" : "Mark Anderson", @@ -459,14 +237,9 @@ "y" : 2 }, { - "drilldown" : "Matthias Muth", - "name" : "Matthias Muth", - "y" : 3 - }, - { - "drilldown" : "Packy Anderson", - "name" : "Packy Anderson", - "y" : 5 + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "y" : 2 }, { "drilldown" : "Peter Campbell Smith", @@ -484,49 +257,29 @@ "y" : 3 }, { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 5 - }, - { - "drilldown" : "Simon Green", - "name" : "Simon Green", - "y" : 3 - }, - { - "drilldown" : "Thomas Kohler", - "name" : "Thomas Kohler", - "y" : 4 + "drilldown" : "Robert Ransbottom", + "name" : "Robert Ransbottom", + "y" : 2 }, { "drilldown" : "Ulrich Rieke", "name" : "Ulrich Rieke", "y" : 4 }, - { - "drilldown" : "Vinod Kumar K", - "name" : "Vinod Kumar K", - "y" : 2 - }, { "drilldown" : "W. Luis Mochan", "name" : "W. Luis Mochan", "y" : 3 - }, - { - "drilldown" : "Wanderdoc", - "name" : "Wanderdoc", - "y" : 2 } ], - "name" : "The Weekly Challenge - 320" + "name" : "The Weekly Challenge - 321" } ], "subtitle" : { - "text" : "[Champions: 28] Last updated at 2025-05-11 21:59:05 GMT" + "text" : "[Champions: 15] Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { - "text" : "The Weekly Challenge - 320" + "text" : "The Weekly Challenge - 321" }, "tooltip" : { "followPointer" : 1, diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 3ed0afd9ba..2b05e1bfec 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-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json index 010f523d44..7f3e783ae3 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-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2021.json b/stats/pwc-language-breakdown-2021.json index 65801868a1..0ffedf8f97 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-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2022.json b/stats/pwc-language-breakdown-2022.json index b8ec416928..d852e4b937 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-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2023.json b/stats/pwc-language-breakdown-2023.json index ddecbca20c..0c8244f486 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-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2024.json b/stats/pwc-language-breakdown-2024.json index b71dcced02..e2d0834d1a 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-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2025.json b/stats/pwc-language-breakdown-2025.json index e9b58856f1..41bf432315 100644 --- a/stats/pwc-language-breakdown-2025.json +++ b/stats/pwc-language-breakdown-2025.json @@ -8,11 +8,29 @@ "data" : [ [ "Perl", - 42 + 20 + ], + [ + "Raku", + 12 + ], + [ + "Blog", + 14 + ] + ], + "id" : "321", + "name" : "321" + }, + { + "data" : [ + [ + "Perl", + 44 ], [ "Raku", - 24 + 26 ], [ "Blog", @@ -346,10 +364,15 @@ { "colorByPoint" : "true", "data" : [ + { + "drilldown" : "321", + "name" : "321", + "y" : 46 + }, { "drilldown" : "320", "name" : "320", - "y" : 83 + "y" : 87 }, { "drilldown" : "319", @@ -441,7 +464,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index c5303269ba..8c895d57e0 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -10,15 +10,15 @@ "data" : [ [ "Perl", - 16578 + 16600 ], [ "Raku", - 9236 + 9250 ], [ "Blog", - 5862 + 5876 ] ], "dataLabels" : { @@ -37,7 +37,7 @@ } ], "subtitle" : { - "text" : "Last updated at 2025-05-11 21:59:05 GMT" + "text" : "Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2025]" diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index 71db7f758d..c534586965 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -8,11 +8,11 @@ "data" : [ [ "Raku", - 446 + 448 ], [ "Blog", - 1103 + 1113 ] ], "id" : "Luca Ferrari", @@ -112,11 +112,11 @@ "data" : [ [ "Perl", - 478 + 480 ], [ "Raku", - 486 + 488 ] ], "id" : "Ulrich Rieke", @@ -176,7 +176,7 @@ "data" : [ [ "Perl", - 458 + 460 ], [ "Raku", @@ -184,7 +184,7 @@ ], [ "Blog", - 229 + 230 ] ], "id" : "W. Luis Mochan", @@ -212,7 +212,7 @@ "data" : [ [ "Perl", - 629 + 631 ], [ "Blog", @@ -286,11 +286,11 @@ "data" : [ [ "Perl", - 366 + 368 ], [ "Blog", - 176 + 177 ] ], "id" : "Peter Campbell Smith", @@ -304,7 +304,7 @@ ], [ "Raku", - 503 + 505 ], [ "Blog", @@ -336,7 +336,7 @@ ], [ "Raku", - 431 + 433 ] ], "id" : "Feng Chang", @@ -392,7 +392,7 @@ "data" : [ [ "Perl", - 221 + 223 ], [ "Raku", @@ -400,7 +400,7 @@ ], [ "Blog", - 75 + 76 ] ], "id" : "Ali Moradi", @@ -438,7 +438,7 @@ "data" : [ [ "Perl", - 378 + 382 ] ], "id" : "Niels van Dijke", @@ -448,11 +448,11 @@ "data" : [ [ "Perl", - 258 + 260 ], [ "Blog", - 116 + 117 ] ], "id" : "Robbie Hatley", @@ -530,7 +530,7 @@ "data" : [ [ "Raku", - 308 + 312 ], [ "Blog", @@ -558,7 +558,7 @@ "data" : [ [ "Perl", - 280 + 282 ], [ "Raku", @@ -646,7 +646,7 @@ "data" : [ [ "Perl", - 242 + 244 ] ], "id" : "Peter Meszaros", @@ -797,7 +797,7 @@ { "drilldown" : "Luca Ferrari", "name" : "1: Luca Ferrari", - "y" : 3098 + "y" : 3122 }, { "drilldown" : "Roger Bell_West", @@ -827,7 +827,7 @@ { "drilldown" : "Ulrich Rieke", "name" : "7: Ulrich Rieke", - "y" : 1928 + "y" : 1936 }, { "drilldown" : "Flavio Poletti", @@ -847,7 +847,7 @@ { "drilldown" : "W. Luis Mochan", "name" : "11: W. Luis Mochan", - "y" : 1378 + "y" : 1384 }, { "drilldown" : "Adam Russell", @@ -857,7 +857,7 @@ { "drilldown" : "E. Choroba", "name" : "13: E. Choroba", - "y" : 1372 + "y" : 1376 }, { "drilldown" : "Colin Crain", @@ -882,12 +882,12 @@ { "drilldown" : "Peter Campbell Smith", "name" : "18: Peter Campbell Smith", - "y" : 1084 + "y" : 1090 }, { "drilldown" : "Mark Anderson", "name" : "19: Mark Anderson", - "y" : 1058 + "y" : 1062 }, { "drilldown" : "Thomas Kohler", @@ -897,7 +897,7 @@ { "drilldown" : "Feng Chang", "name" : "21: Feng Chang", - "y" : 906 + "y" : 910 }, { "drilldown" : "Cheok-Yin Fung", @@ -917,7 +917,7 @@ { "drilldown" : "Ali Moradi", "name" : "25: Ali Moradi", - "y" : 818 + "y" : 824 }, { "drilldown" : "Duncan C. White", @@ -932,12 +932,12 @@ { "drilldown" : "Niels van Dijke", "name" : "28: Niels van Dijke", - "y" : 756 + "y" : 764 }, { "drilldown" : "Robbie Hatley", "name" : "29: Robbie Hatley", - "y" : 748 + "y" : 754 }, { "drilldown" : "Packy Anderson", @@ -962,7 +962,7 @@ { "drilldown" : "Robert Ransbottom", "name" : "34: Robert Ransbottom", - "y" : 620 + "y" : 628 }, { "drilldown" : "Wanderdoc", @@ -972,7 +972,7 @@ { "drilldown" : "David Ferrone", "name" : "36: David Ferrone", - "y" : 600 + "y" : 604 }, { "drilldown" : "Abigail", @@ -1002,7 +1002,7 @@ { "drilldown" : "Peter Meszaros", "name" : "42: Peter Meszaros", - "y" : 484 + "y" : 488 }, { "drilldown" : "Stephen G. Lynn", @@ -1049,7 +1049,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-05-11 21:59:05 GMT" + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-05-13 12:30:20 GMT" }, "title" : { "text" : "Team Leaders (TOP 50)" diff --git a/stats/pwc-summary-1-30.json b/stats/pwc-summary-1-30.json index 537168d3c0..0f8fee9ade 100644 --- a/stats/pwc-summary-1-30.json +++ b/stats/pwc-summary-1-30.json @@ -24,11 +24,11 @@ 2, 36, 93, - 221, + 223, 44, 13, 8, - 40, + 42, 22, 8, 1, @@ -68,7 +68,7 @@ 0, 0, 0, - 89, + 91, 0, 0,