From 993c2b8e13bd33ebb78ff394d665941c0e8f81dd Mon Sep 17 00:00:00 2001 From: Matthew Neleigh Date: Fri, 29 Aug 2025 23:28:45 -0400 Subject: new file: challenge-336/mattneleigh/perl/ch-1.pl new file: challenge-336/mattneleigh/perl/ch-2.pl --- challenge-336/mattneleigh/perl/ch-1.pl | 83 ++++++++++++++++++++++++++++++ challenge-336/mattneleigh/perl/ch-2.pl | 93 ++++++++++++++++++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100755 challenge-336/mattneleigh/perl/ch-1.pl create mode 100755 challenge-336/mattneleigh/perl/ch-2.pl diff --git a/challenge-336/mattneleigh/perl/ch-1.pl b/challenge-336/mattneleigh/perl/ch-1.pl new file mode 100755 index 0000000000..d2dc9b5e2b --- /dev/null +++ b/challenge-336/mattneleigh/perl/ch-1.pl @@ -0,0 +1,83 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use English; + +################################################################################ +# Begin main execution +################################################################################ + +my @integer_lists = ( + [ 1, 1, 2, 2, 2, 2 ], + [ 1, 1, 1, 2, 2, 2, 3, 3 ], + [ 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7 ], + [ 1, 2, 3, 4 ], + [ 8, 8, 9, 9, 10, 10, 11, 11 ] +); + +print("\n"); +foreach my $integer_list (@integer_lists){ + printf( + "Input: \@ints = (%s)\nOutput: %s\n\n", + join(", ", @{$integer_list}), + array_evenly_regroupable(@{$integer_list}) ? + "true" + : + "false" + ); +} + +exit(0); +################################################################################ +# End main execution; subroutines follow +################################################################################ + + + +################################################################################ +# Given an array of integers, determine whether they can be divided into groups +# in which all members of each group has the same value, the groups have the +# same number of members, and each group has at least two members +# Takes one argument: +# * The array of integers to examine (e.g. (8, 8, 9, 9, 10, 10, 11, 11) ) +# Returns: +# * 0 if the array does not meet the criteria described above +# * 1 if the array meets the criteria described above (as would be the case in +# the example provided) +################################################################################ +sub array_evenly_regroupable{ + use List::Util qw(min); + + my %count_table; + my @counts; + my $min; + + # Count the instances of each number + foreach(@ARG){ + $count_table{$_}++; + } + + # Make a list of counts and find the smallest + @counts = map($count_table{$_}, keys(%count_table)); + $min = min(@counts); + + # Make sure the smallest count is at least 2 + return(0) + unless($min > 1); + + # Return 0 if any count isn't evenly divisible + # by the minimum count + foreach my $count (@counts){ + return(0) + if($count % $min); + } + + # Got here- the array met our criteria; + # return 1 + return(1); + +} + + + diff --git a/challenge-336/mattneleigh/perl/ch-2.pl b/challenge-336/mattneleigh/perl/ch-2.pl new file mode 100755 index 0000000000..94a2b1b0d8 --- /dev/null +++ b/challenge-336/mattneleigh/perl/ch-2.pl @@ -0,0 +1,93 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use English; + +################################################################################ +# Begin main execution +################################################################################ + +my @score_sets = ( + [ "5", "2", "C", "D", "+" ], + [ "5", "-2", "4", "C", "D", "9", "+", "+" ], + [ "7", "D", "D", "C", "+", "3" ], + [ "-5", "-10", "+", "D", "C", "+" ], + [ "3", "6", "+", "D", "C", "8", "+", "D", "-2", "C", "+" ] +); + +print("\n"); +foreach my $scores (@score_sets){ + printf( + "Input: \@scores = (%s)\nOutput: %d\n\n", + join( + ", ", + map( + "\"" . $_ . "\"", + @{$scores} + ) + ), + evaluate_scores(@{$scores}) + ); +} + +exit(0); +################################################################################ +# End main execution; subroutines follow +################################################################################ + + + +################################################################################ +# Given a list of scores and instructional codes, evaluate the list and +# determine the resulting total score; scores may consist of the following: +# * + - An instruction to add the last two scores in the list together and +# place the result at the end of the list, leaving the two added scores +# in place (i.e. (...5, 10) --> (...5, 10, 15) ) +# * C - An instruction to invalidate the last score and remove it from the +# list (i.e. (...5, 10) --> (...5) ) +# * D - An instruction to double the last score and place it at the end of the +# list, leaving the value that was doubled in place as well (i.e. +# (...5, 10) --> (...5, 10, 20) +# * An integer value to be added to the list +# All values in the list will be summed after processing, and the resulting +# value returned +# Takes one argument: +# * The list of scores and instructions to examine (e.g. +# ("3", "6", "+", "D", "C", "8", "+", "D", "-2", "C", "+") ) +# Returns: +# * The result of processing the scores and instructions as described above +# (e.g. 128) +################################################################################ +sub evaluate_scores{ + use List::Util qw(sum); + + my @scores; + + # Loop over every score or embedded opcode + foreach my $score (@ARG){ + if($score eq '+'){ + # Sum opcode- add the sum of the last two + # scores to the list + push(@scores, $scores[-1] + $scores[-2]); + } elsif($score eq 'C'){ + # Cancel opcode- remove the last score from + # the list + pop(@scores); + } elsif($score eq 'D'){ + # Double opcode- double the last score and + # add the result to the list + push(@scores, $scores[-1] * 2); + } else{ + # A score- add it to the list + push(@scores, $score); + } + } + + # Return the sum of the scores + return(sum(@scores)); + +} + + + -- cgit From 5b67dab43c2572037562d4e0358cf8ff32a6cb71 Mon Sep 17 00:00:00 2001 From: pme Date: Sat, 30 Aug 2025 10:37:48 +0200 Subject: challenge-336 --- challenge-336/peter-meszaros/perl/ch-1.pl | 92 +++++++++++++++++++++ challenge-336/peter-meszaros/perl/ch-2.pl | 128 ++++++++++++++++++++++++++++++ challenge-336/peter-meszaros/tcl/ch-1.tcl | 95 ++++++++++++++++++++++ challenge-336/peter-meszaros/tcl/ch-2.tcl | 124 +++++++++++++++++++++++++++++ 4 files changed, 439 insertions(+) create mode 100755 challenge-336/peter-meszaros/perl/ch-1.pl create mode 100755 challenge-336/peter-meszaros/perl/ch-2.pl create mode 100755 challenge-336/peter-meszaros/tcl/ch-1.tcl create mode 100755 challenge-336/peter-meszaros/tcl/ch-2.tcl diff --git a/challenge-336/peter-meszaros/perl/ch-1.pl b/challenge-336/peter-meszaros/perl/ch-1.pl new file mode 100755 index 0000000000..1442513de5 --- /dev/null +++ b/challenge-336/peter-meszaros/perl/ch-1.pl @@ -0,0 +1,92 @@ +#!/usr/bin/env perl +# +=head1 Task 1: Equal Group + +Submitted by: Mohammad Sajid Anwar + +You are given an array of integers. + +Write a script to return true if the given array can be divided into one or +more groups: each group must be of the same size as the others, with at least +two members, and with all members having the same value. + +=head2 Example 1 + + Input: @ints = (1,1,2,2,2,2) + Output: true + + Groups: (1,1), (2,2), (2,2) + +=head2 Example 2 + + Input: @ints = (1,1,1,2,2,2,3,3) + Output: false + + Groups: (1,1,1), (2,2,2), (3,3) + +=head2 Example 3 + + Input: @ints = (5,5,5,5,5,5,7,7,7,7,7,7) + Output: true + + Groups: (5,5,5,5,5,5), (7,7,7,7,7,7) + +=head2 Example 4 + + Input: @ints = (1,2,3,4) + Output: false + +=head2 Example 5 + + Input: @ints = (8,8,9,9,10,10,11,11) + Output: true + + Groups: (8,8), (9,9), (10,10), (11,11) + +=cut + +use strict; +use warnings; +use Test2::V0 -no_srand => 1; +use Data::Dumper; + +my $cases = [ + [[1,1,2,2,2,2], 1, "Example 1"], + [[1,1,1,2,2,2,3,3], 0, "Example 2"], + [[5,5,5,5,5,5,7,7,7,7,7,7], 1, "Example 3"], + [[1,2,3,4], 0, "Example 4"], + [[8,8,9,9,10,10,11,11], 1, "Example 5"], +]; + +sub equal_group +{ + my ($ints) = @_; + + my %count; + $count{$_}++ for @$ints; + my @values = values %count; + my $min = $values[0]; + for my $v (@values[1 .. $#values]) { + $min = $v if $v < $min; + } + return 0 if $min < 2; + + for my $size (2 .. $min) { + my $ok = 1; + for my $v (@values) { + if ($v % $size != 0) { + $ok = 0; + last; + } + } + return 1 if $ok; + } + return 0; +} + +for (@$cases) { + is(equal_group($_->[0]), $_->[1], $_->[2]); +} +done_testing(); + +exit 0; diff --git a/challenge-336/peter-meszaros/perl/ch-2.pl b/challenge-336/peter-meszaros/perl/ch-2.pl new file mode 100755 index 0000000000..1187ace468 --- /dev/null +++ b/challenge-336/peter-meszaros/perl/ch-2.pl @@ -0,0 +1,128 @@ +#!/usr/bin/env perl +# +=head1 Task 2: Final Score + +Submitted by: Mohammad Sajid Anwar + +You are given an array of scores by a team. + +Write a script to find the total score of the given team. The score can be any +integer, +, C or D. The + adds the sum of previous two scores. The score C +invalidates the previous score. The score D will double the previous score. + +=head2 Example 1 + + Input: @scores = ("5","2","C","D","+") + Output: 30 + + Round 1: 5 + Round 2: 5 + 2 + Round 3: 5 (invalidate the previous score 2) + Round 4: 5 + 10 (double the previous score 5) + Round 5: 5 + 10 + 15 (sum of previous two scores) + + Total Scores: 30 + +=head2 Example 2 + + Input: @scores = ("5","-2","4","C","D","9","+","+") + Output: 27 + + Round 1: 5 + Round 2: 5 + (-2) + Round 3: 5 + (-2) + 4 + Round 4: 5 + (-2) (invalidate the previous score 4) + Round 5: 5 + (-2) + (-4) (double the previous score -2) + Round 6: 5 + (-2) + (-4) + 9 + Round 7: 5 + (-2) + (-4) + 9 + 5 (sum of previous two scores) + Round 8: 5 + (-2) + (-4) + 9 + 5 + 14 (sum of previous two scores) + + Total Scores: 27 + +=head2 Example 3 + + Input: @scores = ("7","D","D","C","+","3") + Output: 45 + + Round 1: 7 + Round 2: 7 + 14 (double the previous score 7) + Round 3: 7 + 14 + 28 (double the previous score 14) + Round 4: 7 + 14 (invalidate the previous score 28) + Round 5: 7 + 14 + 21 (sum of previous two scores) + Round 6: 7 + 14 + 21 + 3 + + Total Scores: 45 + +=head2 Example 4 + + Input: @scores = ("-5","-10","+","D","C","+") + Output: -55 + + Round 1: (-5) + Round 2: (-5) + (-10) + Round 3: (-5) + (-10) + (-15) (sum of previous two scores) + Round 4: (-5) + (-10) + (-15) + (-30) (double the previous score -15) + Round 5: (-5) + (-10) + (-15) (invalidate the previous score -30) + Round 6: (-5) + (-10) + (-15) + (-25) (sum of previous two scores) + + Total Scores: -55 + +=head2 Example 5 + + Input: @scores = ("3","6","+","D","C","8","+","D","-2","C","+") + Output: 128 + + Round 1: 3 + Round 2: 3 + 6 + Round 3: 3 + 6 + 9 (sum of previous two scores) + Round 4: 3 + 6 + 9 + 18 (double the previous score 9) + Round 5: 3 + 6 + 9 (invalidate the previous score 18) + Round 6: 3 + 6 + 9 + 8 + Round 7: 3 + 6 + 9 + 8 + 17 (sum of previous two scores) + Round 8: 3 + 6 + 9 + 8 + 17 + 34 (double the previous score 17) + Round 9: 3 + 6 + 9 + 8 + 17 + 34 + (-2) + Round 10: 3 + 6 + 9 + 8 + 17 + 34 (invalidate the previous score -2) + Round 11: 3 + 6 + 9 + 8 + 17 + 34 + 51 (sum of previous two scores) + + Total Scores: 128 + +=cut + +use strict; +use warnings; +use Test2::V0 -no_srand => 1; +use Data::Dumper; + +my $cases = [ + [["5", "2", "C", "D", "+"], 30, "Example 1"], + [["5", "-2", "4", "C", "D", "9", "+", "+"], 27, "Example 2"], + [["7", "D", "D", "C", "+", "3"], 45, "Example 3"], + [["-5","-10", "+", "D", "C", "+"], -55, "Example 4"], + [["3", "6", "+", "D", "C", "8", "+", "D", "-2", "C", "+"], 128, "Example 5"], +]; + +sub final_score +{ + my ($scores) = @_; + + my @stack; + for my $s (@$scores) { + if ($s eq 'C') { + pop @stack; + } elsif ($s eq 'D') { + push @stack, 2 * $stack[-1]; + } elsif ($s eq '+') { + push @stack, $stack[-1] + $stack[-2]; + } else { + push @stack, $s; + } + } + return eval join '+', @stack; +} + +for (@$cases) { + is(final_score($_->[0]), $_->[1], $_->[2]); +} +done_testing(); + +exit 0; diff --git a/challenge-336/peter-meszaros/tcl/ch-1.tcl b/challenge-336/peter-meszaros/tcl/ch-1.tcl new file mode 100755 index 0000000000..574a69045d --- /dev/null +++ b/challenge-336/peter-meszaros/tcl/ch-1.tcl @@ -0,0 +1,95 @@ +#!/usr/bin/env tclsh +# +# Submitted by: Mohammad Sajid Anwar +# +# You are given an array of integers. +# +# Write a script to return true if the given array can be divided into one or +# more groups: each group must be of the same size as the others, with at least +# two members, and with all members having the same value. +# +# Example 1 +# +# Input: @ints = (1,1,2,2,2,2) +# Output: true +# +# Groups: (1,1), (2,2), (2,2) +# +# Example 2 +# +# Input: @ints = (1,1,1,2,2,2,3,3) +# Output: false +# +# Groups: (1,1,1), (2,2,2), (3,3) +# +# Example 3 +# +# Input: @ints = (5,5,5,5,5,5,7,7,7,7,7,7) +# Output: true +# +# Groups: (5,5,5,5,5,5), (7,7,7,7,7,7) +# +# Example 4 +# +# Input: @ints = (1,2,3,4) +# Output: false +# +# Example 5 +# +# Input: @ints = (8,8,9,9,10,10,11,11) +# Output: true +# +# Groups: (8,8), (9,9), (10,10), (11,11) +# + +package require tcltest + +set cases { + {{1 1 2 2 2 2} 1 "Example 1"} + {{1 1 1 2 2 2 3 3} 0 "Example 2"} + {{5 5 5 5 5 5 7 7 7 7 7 7} 1 "Example 3"} + {{1 2 3 4} 0 "Example 4"} + {{8 8 9 9 10 10 11 11} 1 "Example 5"} +} + +proc equal_group {ints} { + array set count {} + foreach i $ints { + incr count($i) + } + foreach key [lsort -integer [array names count]] { + lappend values $count($key) + } + set min [lindex $values 0] + foreach v [lrange $values 1 end] { + if {$v < $min} { + set min $v + } + } + if {$min < 2} { + return 0 + } + for {set size 2} {$size <= $min} {incr size} { + set ok 1 + foreach v [lrange $values 1 end] { + if {$v % $size != 0} { + set ok 0 + break + } + } + if {$ok} { + return 1 + } + } + return 0 +} + +tcltest::configure -verbose {pass} +foreach case $cases { + tcltest::test [lindex $case 2] {} { + equal_group [lindex $case 0] + } [lindex $case 1] +} + +exit 0 + diff --git a/challenge-336/peter-meszaros/tcl/ch-2.tcl b/challenge-336/peter-meszaros/tcl/ch-2.tcl new file mode 100755 index 0000000000..35112a0dda --- /dev/null +++ b/challenge-336/peter-meszaros/tcl/ch-2.tcl @@ -0,0 +1,124 @@ +#!/usr/bin/env tclsh +# +# Task 2: Final Score +# +# Submitted by: Mohammad Sajid Anwar +# +# You are given an array of scores by a team. +# +# Write a script to find the total score of the given team. The score can be any +# integer, +, C or D. The + adds the sum of previous two scores. The score C +# invalidates the previous score. The score D will double the previous score. +# +# Example 1 +# +# Input: @scores = ("5","2","C","D","+") +# Output: 30 +# +# Round 1: 5 +# Round 2: 5 + 2 +# Round 3: 5 (invalidate the previous score 2) +# Round 4: 5 + 10 (double the previous score 5) +# Round 5: 5 + 10 + 15 (sum of previous two scores) +# +# Total Scores: 30 +# +# Example 2 +# +# Input: @scores = ("5","-2","4","C","D","9","+","+") +# Output: 27 +# +# Round 1: 5 +# Round 2: 5 + (-2) +# Round 3: 5 + (-2) + 4 +# Round 4: 5 + (-2) (invalidate the previous score 4) +# Round 5: 5 + (-2) + (-4) (double the previous score -2) +# Round 6: 5 + (-2) + (-4) + 9 +# Round 7: 5 + (-2) + (-4) + 9 + 5 (sum of previous two scores) +# Round 8: 5 + (-2) + (-4) + 9 + 5 + 14 (sum of previous two scores) +# +# Total Scores: 27 +# +# Example 3 +# +# Input: @scores = ("7","D","D","C","+","3") +# Output: 45 +# +# Round 1: 7 +# Round 2: 7 + 14 (double the previous score 7) +# Round 3: 7 + 14 + 28 (double the previous score 14) +# Round 4: 7 + 14 (invalidate the previous score 28) +# Round 5: 7 + 14 + 21 (sum of previous two scores) +# Round 6: 7 + 14 + 21 + 3 +# +# Total Scores: 45 +# +# Example 4 +# +# Input: @scores = ("-5","-10","+","D","C","+") +# Output: -55 +# +# Round 1: (-5) +# Round 2: (-5) + (-10) +# Round 3: (-5) + (-10) + (-15) (sum of previous two scores) +# Round 4: (-5) + (-10) + (-15) + (-30) (double the previous score -15) +# Round 5: (-5) + (-10) + (-15) (invalidate the previous score -30) +# Round 6: (-5) + (-10) + (-15) + (-25) (sum of previous two scores) +# +# Total Scores: -55 +# +# Example 5 +# +# Input: @scores = ("3","6","+","D","C","8","+","D","-2","C","+") +# Output: 128 +# +# Round 1: 3 +# Round 2: 3 + 6 +# Round 3: 3 + 6 + 9 (sum of previous two scores) +# Round 4: 3 + 6 + 9 + 18 (double the previous score 9) +# Round 5: 3 + 6 + 9 (invalidate the previous score 18) +# Round 6: 3 + 6 + 9 + 8 +# Round 7: 3 + 6 + 9 + 8 + 17 (sum of previous two scores) +# Round 8: 3 + 6 + 9 + 8 + 17 + 34 (double the previous score 17) +# Round 9: 3 + 6 + 9 + 8 + 17 + 34 + (-2) +# Round 10: 3 + 6 + 9 + 8 + 17 + 34 (invalidate the previous score -2) +# Round 11: 3 + 6 + 9 + 8 + 17 + 34 + 51 (sum of previous two scores) +# +# Total Scores: 128 +# + +package require tcltest + +set cases { + {{"5" "2" "C" "D" "+"} 30 "Example 1"} + {{"5" "-2" "4" "C" "D" "9" "+" "+"} 27 "Example 2"} + {{"7" "D" "D" "C" "+" "3"} 45 "Example 3"} + {{"-5" "-10" "+" "D" "C" "+"} -55 "Example 4"} + {{"3" "6" "+" "D" "C" "8" "+" "D" "-2" "C" "+"} 128 "Example 5"} +} + +proc final_score {scores} { + set stack {} + foreach s $scores { + if {$s eq "C"} { + set stack [lrange $stack 0 end-1] + } elseif {$s eq "D"} { + lappend stack [expr {2 * [lindex $stack end]}] + } elseif {$s eq "+"} { + lappend stack [expr {[lindex $stack end] + [lindex $stack end-1]}] + } else { + lappend stack [expr $s + 0] + } + } + return [expr [join $stack +]] +} + +tcltest::configure -verbose {pass} +foreach case $cases { + tcltest::test [lindex $case 2] {} { + final_score [lindex $case 0] + } [lindex $case 1] +} + +exit 0 + -- cgit From de1df237e64f64088ae45ac54353451a0ca093a2 Mon Sep 17 00:00:00 2001 From: Thomas Köhler Date: Sat, 30 Aug 2025 16:38:38 +0200 Subject: Add solution 336. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Thomas Köhler --- challenge-336/jeanluc2020/blog-1.txt | 1 + challenge-336/jeanluc2020/blog-2.txt | 1 + challenge-336/jeanluc2020/perl/ch-1.pl | 100 +++++++++++++++++++++++++ challenge-336/jeanluc2020/perl/ch-2.pl | 130 +++++++++++++++++++++++++++++++++ 4 files changed, 232 insertions(+) create mode 100644 challenge-336/jeanluc2020/blog-1.txt create mode 100644 challenge-336/jeanluc2020/blog-2.txt create mode 100755 challenge-336/jeanluc2020/perl/ch-1.pl create mode 100755 challenge-336/jeanluc2020/perl/ch-2.pl diff --git a/challenge-336/jeanluc2020/blog-1.txt b/challenge-336/jeanluc2020/blog-1.txt new file mode 100644 index 0000000000..f07491e7e0 --- /dev/null +++ b/challenge-336/jeanluc2020/blog-1.txt @@ -0,0 +1 @@ +http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/perl/theweeklychallenge-336-1.html diff --git a/challenge-336/jeanluc2020/blog-2.txt b/challenge-336/jeanluc2020/blog-2.txt new file mode 100644 index 0000000000..70dfb46300 --- /dev/null +++ b/challenge-336/jeanluc2020/blog-2.txt @@ -0,0 +1 @@ +http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/perl/theweeklychallenge-336-2.html diff --git a/challenge-336/jeanluc2020/perl/ch-1.pl b/challenge-336/jeanluc2020/perl/ch-1.pl new file mode 100755 index 0000000000..4b275b82d7 --- /dev/null +++ b/challenge-336/jeanluc2020/perl/ch-1.pl @@ -0,0 +1,100 @@ +#!/usr/bin/env perl +# https://theweeklychallenge.org/blog/perl-weekly-challenge-336/#TASK1 +# +# Task 1: Equal Group +# =================== +# +# You are given an array of integers. +# +# Write a script to return true if the given array can be divided into one or +# more groups: each group must be of the same size as the others, with at least +# two members, and with all members having the same value. +# +## Example 1 +## +## Input: @ints = (1,1,2,2,2,2) +## Output: true +## +## Groups: (1,1), (2,2), (2,2) +# +# +## Example 2 +## +## Input: @ints = (1,1,1,2,2,2,3,3) +## Output: false +## +## Groups: (1,1,1), (2,2,2), (3,3) +# +# +## Example 3 +## +## Input: @ints = (5,5,5,5,5,5,7,7,7,7,7,7) +## Output: true +## +## Groups: (5,5,5,5,5,5), (7,7,7,7,7,7) +# +# +## Example 4 +## +## Input: @ints = (1,2,3,4) +## Output: false +# +############################################################ +## +## discussion +## +############################################################ +# +# You can create matching groups if all the numbers of integers of the same +# value are divisible by a common prime. So we check if we find a common prime +# factor: for each prime, check if it is a divisor of the number and count that, +# and if a prime happens to appear as often as there are distinct numbers in +# the input array, we can return "true". If in the end, this wasn't the case +# for any prime from our list, we return "false". + +use v5.36; +use List::Util qw(max); + +equal_group(1,1,2,2,2,2); +equal_group(1,1,1,2,2,2,3,3); +equal_group(5,5,5,5,5,5,7,7,7,7,7,7); +equal_group(1,2,3,4); + +sub equal_group( @ints ) { + say "Input: (" . join(", ", @ints) . ")"; + my $numbers; + foreach my $i (@ints) { + $numbers->{$i}++; + } + my $biggest = max( map { $numbers->{$_} } keys %$numbers ); + my @primes; + foreach my $n (2..$biggest) { + push @primes, $n if is_prime($n); + } + my $primes_found; + foreach my $n (keys %$numbers) { + foreach my $prime (@primes) { + $primes_found->{$prime}++ unless $numbers->{$n} % $prime; + } + } + foreach my $f (keys %$primes_found) { + return say "true" if $primes_found->{$f} == scalar(keys %$numbers); + } + return say "false"; +} + + +### From the solution of the weekly challenge 223: +sub is_prime { + my $num = shift; + return 0 if $num == 1; + my $divider = 2; + while($divider <= sqrt($num)) { + if(int($num/$divider) == $num/$divider) { + return 0; + } + $divider++; + } + return 1; +} + diff --git a/challenge-336/jeanluc2020/perl/ch-2.pl b/challenge-336/jeanluc2020/perl/ch-2.pl new file mode 100755 index 0000000000..cbb5ec72d7 --- /dev/null +++ b/challenge-336/jeanluc2020/perl/ch-2.pl @@ -0,0 +1,130 @@ +#!/usr/bin/env perl +# https://theweeklychallenge.org/blog/perl-weekly-challenge-336/#TASK2 +# +# Task 2: Final Score +# =================== +# +# You are given an array of scores by a team. +# +# Write a script to find the total score of the given team. The score can be +# any integer, +, C or D. The + adds the sum of previous two scores. The score +# C invalidates the previous score. The score D will double the previous score. +# +## Example 1 +## +## Input: @scores = ("5","2","C","D","+") +## Output: 30 +## +## Round 1: 5 +## Round 2: 5 + 2 +## Round 3: 5 (invalidate the previous score 2) +## Round 4: 5 + 10 (double the previous score 5) +## Round 5: 5 + 10 + 15 (sum of previous two scores) +## +## Total Scores: 30 +# +# +## Example 2 +## +## Input: @scores = ("5","-2","4","C","D","9","+","+") +## Output: 27 +## +## Round 1: 5 +## Round 2: 5 + (-2) +## Round 3: 5 + (-2) + 4 +## Round 4: 5 + (-2) (invalidate the previous score 4) +## Round 5: 5 + (-2) + (-4) (double the previous score -2) +## Round 6: 5 + (-2) + (-4) + 9 +## Round 7: 5 + (-2) + (-4) + 9 + 5 (sum of previous two scores) +## Round 8: 5 + (-2) + (-4) + 9 + 5 + 14 (sum of previous two scores) +## +## Total Scores: 27 +# +# +## Example 3 +## +## Input: @scores = ("7","D","D","C","+","3") +## Output: 45 +## +## Round 1: 7 +## Round 2: 7 + 14 (double the previous score 7) +## Round 3: 7 + 14 + 28 (double the previous score 14) +## Round 4: 7 + 14 (invalidate the previous score 28) +## Round 5: 7 + 14 + 21 (sum of previous two scores) +## Round 6: 7 + 14 + 21 + 3 +## +## Total Scores: 45 +# +# +## Example 4 +## +## Input: @scores = ("-5","-10","+","D","C","+") +## Output: -55 +## +## Round 1: (-5) +## Round 2: (-5) + (-10) +## Round 3: (-5) + (-10) + (-15) (sum of previous two scores) +## Round 4: (-5) + (-10) + (-15) + (-30) (double the previous score -15) +## Round 5: (-5) + (-10) + (-15) (invalidate the previous score -30) +## Round 6: (-5) + (-10) + (-15) + (-25) (sum of previous two scores) +## +## Total Scores: -55 +# +# +## Example 5 +## +## Input: @scores = ("3","6","+","D","C","8","+","D","-2","C","+") +## Output: 128 +## +## Round 1: 3 +## Round 2: 3 + 6 +## Round 3: 3 + 6 + 9 (sum of previous two scores) +## Round 4: 3 + 6 + 9 + 18 (double the previous score 9) +## Round 5: 3 + 6 + 9 (invalidate the previous score 18) +## Round 6: 3 + 6 + 9 + 8 +## Round 7: 3 + 6 + 9 + 8 + 17 (sum of previous two scores) +## Round 8: 3 + 6 + 9 + 8 + 17 + 34 (double the previous score 17) +## Round 9: 3 + 6 + 9 + 8 + 17 + 34 + (-2) +## Round 10: 3 + 6 + 9 + 8 + 17 + 34 (invalidate the previous score -2) +## Round 11: 3 + 6 + 9 + 8 + 17 + 34 + 51 (sum of previous two scores) +## +## Total Scores: 128 +# +############################################################ +## +## discussion +## +############################################################ +# +# For each element in the scores, we add or remove an element from +# a stack: either push the double of the last element on the stack +# in case of "D", or the sum of the last two elements on the stack +# in case of "+", or remove the last element of the stack for a "C", +# or push the element otherwise (as then it's a number). In the end, +# we just return the sum of all elements on the stack. + +use v5.36; +use List::Util qw(sum); + +final_score("5","2","C","D","+"); +final_score("5","-2","4","C","D","9","+","+"); +final_score("7","D","D","C","+","3"); +final_score("-5","-10","+","D","C","+"); +final_score("3","6","+","D","C","8","+","D","-2","C","+"); + +sub final_score(@scores) { + say "Input: (\"" . join("\", \"", @scores) . "\")"; + my @stack = (); + foreach my $s (@scores) { + if($s eq "D") { + push @stack, 2 * $stack[-1]; + } elsif ($s eq "C") { + pop @stack; + } elsif ($s eq "+") { + push @stack, $stack[-1] + $stack[-2]; + } else { + push @stack, $s; + } + } + say "Output: " . sum(@stack); +} -- cgit From ae538455b0491a2d1498dad507444b53c7db680a Mon Sep 17 00:00:00 2001 From: HVukman Date: Sat, 30 Aug 2025 18:46:09 +0200 Subject: Create 336_p1.lua --- challenge-336/hvukman/lua/336_p1.lua | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 challenge-336/hvukman/lua/336_p1.lua diff --git a/challenge-336/hvukman/lua/336_p1.lua b/challenge-336/hvukman/lua/336_p1.lua new file mode 100644 index 0000000000..76bc6ac291 --- /dev/null +++ b/challenge-336/hvukman/lua/336_p1.lua @@ -0,0 +1,51 @@ + +function gcd(x, y) + if (y == 0) then + return x + else + return gcd(y, x%y) + end +end + +function Equal_group(x) + + local set ={} + + + for i,v in ipairs(x) do + set[v]=true + end + local res = {} + for i,v in pairs(set) do + -- print(i) + local res_=0 + for _,w in ipairs(x) do + if i==w then + res_ =res_+ 1 + end + end + table.insert(res,res_) + end + + + local dummy=0 + local valid = true + for i=2,#res do + -- gcd for each pair + dummy= gcd(res[i-1],res[i]) + --print (dummy) + -- if gcd<=1 then failure + if dummy <= 1 then + valid = false + end + if valid == false then break end + end + + print(valid) +end + +local inputs = { {1,1,2,2,2,2},{1,1,1,2,2,2,3,3}, {5,5,5,5,5,5,7,7,7,7,7,7},{1,2,3,4},{8,8,9,9,10,10,11,11} } + +for i=1,#inputs do + Equal_group(inputs[i]) +end -- cgit From 4074b6ee7df5f48b74944128b08dd871eda850d5 Mon Sep 17 00:00:00 2001 From: HVukman Date: Sat, 30 Aug 2025 18:46:27 +0200 Subject: Add files via upload --- challenge-336/hvukman/lua/336_p2.lua | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 challenge-336/hvukman/lua/336_p2.lua diff --git a/challenge-336/hvukman/lua/336_p2.lua b/challenge-336/hvukman/lua/336_p2.lua new file mode 100644 index 0000000000..7943f876d7 --- /dev/null +++ b/challenge-336/hvukman/lua/336_p2.lua @@ -0,0 +1,36 @@ +local scores = {"5","-2","4","C","D","9","+","+"} + +function Final_score(x) + local score = 0 + local prev = {} + local res = {} + + for i=1,#x do + if (tonumber(x[i])) then + table.insert(prev,x[i]) + table.insert(res,x[i]) + elseif scores[i]=="C" then + table.remove(prev) + table.remove(res) + elseif scores[i]=="D" then -- double previous score + local last = prev[#prev] + table.insert(res,last*2) + table.insert(prev,last*2) + elseif scores[i]=="+" then -- add last two scores + local last = prev[#prev] + local last2 = prev[#prev-1] + table.insert(res,last+last2) + table.insert(prev,last+last2) + end + end + + + for _,v in ipairs(res) do + print(v) + score= score + v + end + + print("score ", score) +end + +Final_score(scores) \ No newline at end of file -- cgit From 1cda67fc152a1c71cf521ffe30c5f503959c81a1 Mon Sep 17 00:00:00 2001 From: Mohammad Sajid Anwar Date: Sat, 30 Aug 2025 18:24:39 +0100 Subject: - Added solutions by Matthew Neleigh. - Added solutions by Peter Meszaros. - Added solutions by Thomas Kohler. - Added solutions by HVukman. --- stats/pwc-current.json | 51 ++++++++++++++++++++++++++++++- 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 | 16 +++++----- 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 | 4 +-- stats/pwc-summary-211-240.json | 4 +-- stats/pwc-summary-241-270.json | 2 +- stats/pwc-summary-271-300.json | 6 ++-- stats/pwc-summary-301-330.json | 2 +- 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 | 10 +++--- stats/pwc-yearly-language-summary.json | 8 ++--- 23 files changed, 95 insertions(+), 46 deletions(-) diff --git a/stats/pwc-current.json b/stats/pwc-current.json index ae688b6e91..15d9a4eaf2 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -148,6 +148,16 @@ "id" : "Mark Anderson", "name" : "Mark Anderson" }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh" + }, { "data" : [ [ @@ -190,6 +200,16 @@ "id" : "Peter Campbell Smith", "name" : "Peter Campbell Smith" }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Peter Meszaros", + "name" : "Peter Meszaros" + }, { "data" : [ [ @@ -228,6 +248,20 @@ "id" : "Simon Proctor", "name" : "Simon Proctor" }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "id" : "Thomas Kohler", + "name" : "Thomas Kohler" + }, { "data" : [ [ @@ -344,6 +378,11 @@ "name" : "Mark Anderson", "y" : 2 }, + { + "drilldown" : "Matthew Neleigh", + "name" : "Matthew Neleigh", + "y" : 2 + }, { "drilldown" : "Niels van Dijke", "name" : "Niels van Dijke", @@ -359,6 +398,11 @@ "name" : "Peter Campbell Smith", "y" : 3 }, + { + "drilldown" : "Peter Meszaros", + "name" : "Peter Meszaros", + "y" : 2 + }, { "drilldown" : "Robbie Hatley", "name" : "Robbie Hatley", @@ -374,6 +418,11 @@ "name" : "Simon Proctor", "y" : 2 }, + { + "drilldown" : "Thomas Kohler", + "name" : "Thomas Kohler", + "y" : 4 + }, { "drilldown" : "Ulrich Rieke", "name" : "Ulrich Rieke", @@ -394,7 +443,7 @@ } ], "subtitle" : { - "text" : "[Champions: 21] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 24] Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge - 336" diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 9a56e372ad..db54d65050 100644 --- a/stats/pwc-language-breakdown-2019.json +++ b/stats/pwc-language-breakdown-2019.json @@ -970,7 +970,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2020.json b/stats/pwc-language-breakdown-2020.json index 7cfb24dbe9..d9311a97b5 100644 --- a/stats/pwc-language-breakdown-2020.json +++ b/stats/pwc-language-breakdown-2020.json @@ -1223,7 +1223,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2021.json b/stats/pwc-language-breakdown-2021.json index a1130d367e..772ce93f6f 100644 --- a/stats/pwc-language-breakdown-2021.json +++ b/stats/pwc-language-breakdown-2021.json @@ -1223,7 +1223,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2022.json b/stats/pwc-language-breakdown-2022.json index 27fc86ce7a..0abddf8e7f 100644 --- a/stats/pwc-language-breakdown-2022.json +++ b/stats/pwc-language-breakdown-2022.json @@ -1223,7 +1223,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2023.json b/stats/pwc-language-breakdown-2023.json index de7f99b536..2a9e74bf81 100644 --- a/stats/pwc-language-breakdown-2023.json +++ b/stats/pwc-language-breakdown-2023.json @@ -1200,7 +1200,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2024.json b/stats/pwc-language-breakdown-2024.json index 5d9ad703f0..47425bc31c 100644 --- a/stats/pwc-language-breakdown-2024.json +++ b/stats/pwc-language-breakdown-2024.json @@ -1246,7 +1246,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-2025.json b/stats/pwc-language-breakdown-2025.json index a46519d846..ce4da7c59a 100644 --- a/stats/pwc-language-breakdown-2025.json +++ b/stats/pwc-language-breakdown-2025.json @@ -8,7 +8,7 @@ "data" : [ [ "Perl", - 32 + 38 ], [ "Raku", @@ -16,7 +16,7 @@ ], [ "Blog", - 8 + 10 ] ], "id" : "336", @@ -637,7 +637,7 @@ { "drilldown" : "336", "name" : "336", - "y" : 59 + "y" : 67 }, { "drilldown" : "335", @@ -809,7 +809,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index b631ed6a2e..5298bee35b 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -10,7 +10,7 @@ "data" : [ [ "Perl", - 17328 + 17334 ], [ "Raku", @@ -18,7 +18,7 @@ ], [ "Blog", - 6226 + 6228 ] ], "dataLabels" : { @@ -37,7 +37,7 @@ } ], "subtitle" : { - "text" : "Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2025]" diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index 82daeb8b80..74e7aeefba 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -318,11 +318,11 @@ "data" : [ [ "Perl", - 272 + 274 ], [ "Blog", - 265 + 267 ] ], "id" : "Thomas Kohler", @@ -608,7 +608,7 @@ "data" : [ [ "Perl", - 291 + 293 ] ], "id" : "Matthew Neleigh", @@ -646,7 +646,7 @@ "data" : [ [ "Perl", - 272 + 274 ] ], "id" : "Peter Meszaros", @@ -892,7 +892,7 @@ { "drilldown" : "Thomas Kohler", "name" : "20: Thomas Kohler", - "y" : 1074 + "y" : 1082 }, { "drilldown" : "Feng Chang", @@ -987,7 +987,7 @@ { "drilldown" : "Matthew Neleigh", "name" : "39: Matthew Neleigh", - "y" : 582 + "y" : 586 }, { "drilldown" : "Abigail", @@ -1002,7 +1002,7 @@ { "drilldown" : "Peter Meszaros", "name" : "42: Peter Meszaros", - "y" : 544 + "y" : 548 }, { "drilldown" : "Stephen G. Lynn", @@ -1049,7 +1049,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the score breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "Team Leaders (TOP 50)" diff --git a/stats/pwc-summary-1-30.json b/stats/pwc-summary-1-30.json index 447abc1df4..c3b3d5712b 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-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 852d31c286..60f8e8098c 100644 --- a/stats/pwc-summary-121-150.json +++ b/stats/pwc-summary-121-150.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 a8520d415e..d94aa6ccf5 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-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 9548f7409e..deffa9fefd 100644 --- a/stats/pwc-summary-181-210.json +++ b/stats/pwc-summary-181-210.json @@ -14,7 +14,7 @@ 0, 0, 4, - 291, + 293, 0, 4, 226, @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 637d2a9ba9..0cd9328a37 100644 --- a/stats/pwc-summary-211-240.json +++ b/stats/pwc-summary-211-240.json @@ -28,7 +28,7 @@ 0, 398, 1, - 272, + 274, 10, 11, 7, @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 24fd2bb07c..5415d72438 100644 --- a/stats/pwc-summary-241-270.json +++ b/stats/pwc-summary-241-270.json @@ -115,7 +115,7 @@ } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 e37b9613a0..1e15d8feb3 100644 --- a/stats/pwc-summary-271-300.json +++ b/stats/pwc-summary-271-300.json @@ -38,7 +38,7 @@ 6, 4, 2, - 272, + 274, 1 ], "name" : "Perl" @@ -108,14 +108,14 @@ 0, 0, 0, - 265, + 267, 0 ], "name" : "Blog" } ], "subtitle" : { - "text" : "[Champions: 30] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 3860a7640f..e843244c97 100644 --- a/stats/pwc-summary-301-330.json +++ b/stats/pwc-summary-301-330.json @@ -109,7 +109,7 @@ } ], "subtitle" : { - "text" : "[Champions: 28] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 28] Last updated at 2025-08-30 17:24:29 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 3245e59109..5149b2747d 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-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 b01c118d5f..b3ca9a6e7d 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-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 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 28a9ada129..405e9c2394 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-08-29 21:41:37 GMT" + "text" : "[Champions: 30] Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge [2019 - 2025]" diff --git a/stats/pwc-summary.json b/stats/pwc-summary.json index 3851230850..5fb552611c 100644 --- a/stats/pwc-summary.json +++ b/stats/pwc-summary.json @@ -194,7 +194,7 @@ 0, 0, 2, - 156, + 157, 0, 2, 113, @@ -238,7 +238,7 @@ 0, 202, 1, - 136, + 137, 5, 10, 4, @@ -308,7 +308,7 @@ 3, 2, 1, - 138, + 139, 1, 6, 7, @@ -974,7 +974,7 @@ 0, 0, 0, - 135, + 136, 0, 3, 0, @@ -1009,7 +1009,7 @@ } ], "subtitle" : { - "text" : "[Champions: 328] Last updated at 2025-08-29 21:41:37 GMT" + "text" : "[Champions: 328] Last updated at 2025-08-30 17:24:29 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 ec8c814ef1..f34b8b680c 100644 --- a/stats/pwc-yearly-language-summary.json +++ b/stats/pwc-yearly-language-summary.json @@ -8,7 +8,7 @@ "data" : [ [ "Perl", - 1557 + 1563 ], [ "Raku", @@ -16,7 +16,7 @@ ], [ "Blog", - 639 + 641 ] ], "id" : "2025", @@ -151,7 +151,7 @@ { "drilldown" : "2025", "name" : "2025", - "y" : 2974 + "y" : 2982 }, { "drilldown" : "2024", @@ -188,7 +188,7 @@ } ], "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-29 21:41:37 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2025-08-30 17:24:29 GMT" }, "title" : { "text" : "The Weekly Challenge Language" -- cgit