From 31a7ecc352b6eb2c76b4d4c4966199e4cde2ab65 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 19 Oct 2020 01:19:14 +0100 Subject: - Added solutions by Colin Crain. --- challenge-082/colin-crain/perl/ch-1.pl | 86 + challenge-082/colin-crain/perl/ch-2.pl | 124 ++ challenge-082/colin-crain/raku/ch-1.raku | 77 + challenge-082/colin-crain/raku/ch-2.raku | 75 + stats/pwc-current.json | 356 ++-- stats/pwc-language-breakdown-summary.json | 70 +- stats/pwc-language-breakdown.json | 3276 ++++++++++++++--------------- stats/pwc-leaders.json | 708 +++---- stats/pwc-summary-1-30.json | 110 +- stats/pwc-summary-121-150.json | 112 +- stats/pwc-summary-151-180.json | 46 +- stats/pwc-summary-181-210.json | 78 +- stats/pwc-summary-31-60.json | 114 +- stats/pwc-summary-61-90.json | 52 +- stats/pwc-summary-91-120.json | 38 +- stats/pwc-summary.json | 440 ++-- 16 files changed, 3066 insertions(+), 2696 deletions(-) create mode 100644 challenge-082/colin-crain/perl/ch-1.pl create mode 100644 challenge-082/colin-crain/perl/ch-2.pl create mode 100644 challenge-082/colin-crain/raku/ch-1.raku create mode 100644 challenge-082/colin-crain/raku/ch-2.raku diff --git a/challenge-082/colin-crain/perl/ch-1.pl b/challenge-082/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..3cf9a0516b --- /dev/null +++ b/challenge-082/colin-crain/perl/ch-1.pl @@ -0,0 +1,86 @@ +#! /opt/local/bin/perl +# +# factor_hardly_knew_her.pl +# +# TASK #1 › Common Factors +# Submitted by: Niels van Dijke +# You are given 2 positive numbers $M and $N. +# +# Write a script to list all common factors of the given numbers. +# +# Example 1: +# Input: +# $M = 12 +# $N = 18 +# +# Output: +# (1, 2, 3, 6) +# +# Explanation: +# Factors of 12: 1, 2, 3, 4, 6 +# Factors of 18: 1, 2, 3, 6, 9 +# +# Example 2: +# Input: +# $M = 18 +# $N = 23 +# +# Output: +# (1) +# +# Explanation: +# Factors of 18: 1, 2, 3, 6, 9 +# Factors of 23: 1 +# +# method: +# When a number is said to be a factor of another number, the +# meaning is that number times another number will equal the third. +# Reciprocally, both the number tested and the multiplier are both +# factors of third. +# +# As such when factoring, we need only check for numbers up to the +# square root of our target, if, when we find a pair of numbers that +# fit, we log both to out result list. +# +# Once we have the factors for one of our numbers, the best way to +# determine the common elements between two arrays (when we don't +# care about duplicates) is to use a hash. The factors of the first +# input number are hashed and the the sorted list of factors for the +# second number are filtered for presence in the hash before being +# output. +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + +my $M = shift || 1440; +my $N = shift || 1530; + +my %lookup = map { $_ => undef } factor($M); +my @out = grep { exists $lookup{$_} } sort {$a-$b} factor($N); + +say "input :\n\tN = $N\n\tM = $M"; +say "output: ( @out )"; + + +## ## ## ## ## SUBS: + +sub factor { + my $num = shift; + my @out; + my $sq = int sqrt $num; + for (1..$sq) { + if ($num % $_ == 0) { + push @out, $_; + push @out, $num / $_ unless $_**2 == $num; + } + } + return @out; +} \ No newline at end of file diff --git a/challenge-082/colin-crain/perl/ch-2.pl b/challenge-082/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..8c07680219 --- /dev/null +++ b/challenge-082/colin-crain/perl/ch-2.pl @@ -0,0 +1,124 @@ +#! /opt/local/bin/perl +# +# ab_interneg.pl +# +# TASK #2 › Interleave String +# Submitted by: Mohammad S Anwar +# You are given 3 strings; $A, $B and $C. +# +# Write a script to check if $C is created by interleave $A and $B. +# +# Print 1 if check is success otherwise 0. +# +# Example 1: +# Input: +# $A = "XY" +# $B = "X" +# $C = "XXY" +# +# Output: 1 +# EXPLANATION +# "X" (from $B) + "XY" (from $A) = $C +# +# Example 2: +# Input: +# $A = "XXY" +# $B = "XXZ" +# $C = "XXXXZY" +# +# Output: 1 +# EXPLANATION +# "XX" (from $A) + "XXZ" (from $B) + "Y" (from $A) = $C +# +# Example 3: +# Input: +# $A = "YX" +# $B = "X" +# $C = "XXY" +# +# Output: 0 +# +# METHOD: +# This is a really interesting problem. At first look it has +# presents a very complex solution space, but because all of the +# strings maintain their ordering throughout the actual decision +# making never gets beyond binary choices. The key to cracking +# it is to entertain a complete idea of what "interleaving" is. +# +# Interleaving is the process of taking two strings and, from +# the beginnings of both, selecting and gathering partitions of +# first one string and then the other, assembling a constructed +# third string from the two until all characters from both +# inputs are utilized. +# +# Ok, but what does that mean to us? +# +# If we start with the two strings, we are given the choice to +# take the first letter from either string to begin our common +# concatenation. After that character is added, we are given the +# choice of continuing to add the next letter from our string or +# switch and add the first letter from the other string. When a +# letter is selected, the position to be added next from that +# string is advanced; if one string becomes exhausted, the +# assembly continues with the last part of the remaining string. +# The process continues until there are no more options for +# characters to be added. +# +# Practically, we can physically remove letters from the strings +# as we use them, which lightens the bookkeeping load. This +# includes the target string we're validating; when a character +# is chosen that letter is removed from the remaining string +# left to match. We don't need to keep a record of the string +# we're assembling, because if we run out of letters between our +# two input strings and the target simultaniously we've matched +# our last letter. The interleaving is has been successful, and +# we already know what the result looks like. +# + +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; +no warnings 'recursion'; + +## ## ## ## ## MAIN: + +my $VERBOSE = 1; + +my ($A, $B, $C) = @_; + +## let's not bother with command line input this time, shall we? +$A = "AXXZ"; +$B = "XXYZ"; +$C = "AXXYXZXZ"; +say 0 and exit if length($A)+length($B)!=length($C); + +say interleave($A, $B, $C); + +## ## ## ## ## SUBS: + +sub interleave { + my ($A, $B, $C) = @_; + say "A $A \nB $B \nC $C\n" if $VERBOSE; + + return 1 unless ( $A or $B or $C ); ## we've used all our letters + + for ($A,$B) { + if (substr($_, 0, 1) eq substr($C, 0, 1) ) { + my $taken = substr $_, 1; + my $other = $_ eq $A ? $B : $A; + my $target = substr $C, 1; + say "took ", substr($_, 0, 1), " target now $target\n" if $VERBOSE; + return 1 if interleave($taken, $other, $target); + } + } + say "backtracking..." if $VERBOSE; + + return 0; +} \ No newline at end of file diff --git a/challenge-082/colin-crain/raku/ch-1.raku b/challenge-082/colin-crain/raku/ch-1.raku new file mode 100644 index 0000000000..d6ab95481f --- /dev/null +++ b/challenge-082/colin-crain/raku/ch-1.raku @@ -0,0 +1,77 @@ +#!/usr/bin/env perl6 +# +# +# factor_hardly_knew_her.raku +# +# TASK #1 › Common Factors +# Submitted by: Niels van Dijke +# You are given 2 positive numbers $M and $N. +# +# Write a script to list all common factors of the given numbers. +# +# Example 1: +# Input: +# $M = 12 +# $N = 18 +# +# Output: +# (1, 2, 3, 6) +# +# Explanation: +# Factors of 12: 1, 2, 3, 4, 6 +# Factors of 18: 1, 2, 3, 6, 9 +# +# Example 2: +# Input: +# $M = 18 +# $N = 23 +# +# Output: +# (1) +# +# Explanation: +# Factors of 18: 1, 2, 3, 6, 9 +# Factors of 23: 1 +# +# method: +# When a number is said to be a factor of another number, the +# meaning is that number times another number will equal the third. +# Reciprocally, both the number tested and the multiplier are both +# factors of third. +# +# As such when factoring, we need only check for numbers up to the +# square root of our target, if, when we find a pair of numbers that +# fit, we log both to out result list. +# +# Once we have the factors for one of our numbers, the best way to +# determine the common elements between two arrays (when we don't +# care about duplicates) is to use a hash. The factors of the first +# input number are hashed and the the sorted list of factors for the +# second number are filtered for presence in the hash before being +# output. +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN (Int $M = 18, Int $N = 36) ; + +my %bag = bag factor($M); +my @out = factor($N).unique + .sort + .grep: {%bag{$_}:exists}; + +say "input :\n\tM = $M\n\tN = $N"; +say "output : ", @out; + +sub factor (Int $num) { + gather { + for (1..$num.sqrt.Int).grep({$num %% $_}) { + take $_; + take $num div $_; + } + } +} diff --git a/challenge-082/colin-crain/raku/ch-2.raku b/challenge-082/colin-crain/raku/ch-2.raku new file mode 100644 index 0000000000..cac6a3f7bf --- /dev/null +++ b/challenge-082/colin-crain/raku/ch-2.raku @@ -0,0 +1,75 @@ +#!/usr/bin/env perl6 +# +# +# ab_interneg.raku +# +# TASK #2 › Interleave String +# Submitted by: Mohammad S Anwar +# You are given 3 strings; $A, $B and $C. +# +# Write a script to check if $C is created by interleave $A and $B. +# +# Print 1 if check is success otherwise 0. +# +# Example 1: +# Input: +# $A = "XY" +# $B = "X" +# $C = "XXY" +# +# Output: 1 +# EXPLANATION +# "X" (from $B) + "XY" (from $A) = $C +# +# Example 2: +# Input: +# $A = "XXY" +# $B = "XXZ" +# $C = "XXXXZY" +# +# Output: 1 +# EXPLANATION +# "XX" (from $A) + "XXZ" (from $B) + "Y" (from $A) = $C +# +# Example 3: +# Input: +# $A = "YX" +# $B = "X" +# $C = "XXY" +# +# Output: 0 +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN (Str $A = "AXXZ", Str $B = "XXYZ", Str $C = "AXXYXZXZ") ; + +my $VERBOSE = True; ## visually examine progress + +say 0 and exit if $A.chars + $B.chars != $C.chars; + +say "\noutput: ", interleave($A, $B, $C); + + +## ## ## ## ## SUBS: + +sub interleave (Str $A, Str $B, Str $C) { + + say "\nA $A \nB $B \nC $C" if $VERBOSE; + + return 1 unless any( $A, $B, $C ); ## we've used all our letters + + for $A,$B { + when $_.starts-with: $C.substr(0, 1) { + my $taken = $_.substr(1); + my $other = $_ eq $A ?? $B !! $A; + my $target = $C.substr(1); + say "took " ~ $_.substr(0, 1) ~ " target now $target" if $VERBOSE; + return 1 if interleave($taken, $other, $target); + } + } + return 0; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 1ffa5becbd..37ec97482b 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,25 +1,43 @@ { - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "{series.name}
", - "followPointer" : 1 + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "title" : { + "text" : "Perl Weekly Challenge - 082" }, "legend" : { "enabled" : 0 }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "xAxis" : { + "type" : "category" + }, "series" : [ { - "name" : "Perl Weekly Challenge - 082", - "colorByPoint" : 1, "data" : [ { - "name" : "Abigail", "y" : 4, - "drilldown" : "Abigail" + "drilldown" : "Abigail", + "name" : "Abigail" }, { - "name" : "Adam Russell", "drilldown" : "Adam Russell", + "name" : "Adam Russell", "y" : 3 }, { @@ -28,109 +46,109 @@ "y" : 2 }, { + "name" : "Andinus", "drilldown" : "Andinus", - "y" : 2, - "name" : "Andinus" + "y" : 2 }, { - "name" : "Andrew Shitov", "y" : 2, + "name" : "Andrew Shitov", "drilldown" : "Andrew Shitov" }, { - "name" : "Arne Sommer", "y" : 3, + "name" : "Arne Sommer", "drilldown" : "Arne Sommer" }, { - "y" : 4, + "name" : "Athanasius", "drilldown" : "Athanasius", - "name" : "Athanasius" + "y" : 4 }, { "y" : 2, - "drilldown" : "Bob Lied", - "name" : "Bob Lied" + "name" : "Bob Lied", + "drilldown" : "Bob Lied" }, { - "name" : "Cheok-Yin Fung", "y" : 2, - "drilldown" : "Cheok-Yin Fung" + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" }, { + "y" : 5, "name" : "Colin Crain", - "drilldown" : "Colin Crain", - "y" : 1 + "drilldown" : "Colin Crain" }, { "name" : "Cristina Heredia", - "y" : 1, - "drilldown" : "Cristina Heredia" + "drilldown" : "Cristina Heredia", + "y" : 1 }, { - "name" : "Dave Cross", + "y" : 2, "drilldown" : "Dave Cross", - "y" : 2 + "name" : "Dave Cross" }, { - "y" : 3, "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" + "name" : "Dave Jacoby", + "y" : 3 }, { "drilldown" : "Dieter Dobbelaere", - "y" : 2, - "name" : "Dieter Dobbelaere" + "name" : "Dieter Dobbelaere", + "y" : 2 }, { "name" : "Duncan C. White", - "y" : 2, - "drilldown" : "Duncan C. White" + "drilldown" : "Duncan C. White", + "y" : 2 }, { - "name" : "E. Choroba", + "y" : 2, "drilldown" : "E. Choroba", - "y" : 2 + "name" : "E. Choroba" }, { "name" : "Feng Chang", - "y" : 2, - "drilldown" : "Feng Chang" + "drilldown" : "Feng Chang", + "y" : 2 }, { "drilldown" : "Flavio Poletti", - "y" : 5, - "name" : "Flavio Poletti" + "name" : "Flavio Poletti", + "y" : 5 }, { + "drilldown" : "Jaldhar H. Vyas", "name" : "Jaldhar H. Vyas", - "y" : 5, - "drilldown" : "Jaldhar H. Vyas" + "y" : 5 }, { + "name" : "Jan Krnavek", "drilldown" : "Jan Krnavek", - "y" : 2, - "name" : "Jan Krnavek" + "y" : 2 }, { + "y" : 2, "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey", - "y" : 2 + "drilldown" : "Jorg Sommrey" }, { + "drilldown" : "Jose Luis", "name" : "Jose Luis", - "y" : 2, - "drilldown" : "Jose Luis" + "y" : 2 }, { "y" : 4, - "drilldown" : "Julio de Castro", - "name" : "Julio de Castro" + "name" : "Julio de Castro", + "drilldown" : "Julio de Castro" }, { - "y" : 4, "drilldown" : "Kang-min Liu", - "name" : "Kang-min Liu" + "name" : "Kang-min Liu", + "y" : 4 }, { "name" : "Lars Thegler", @@ -138,107 +156,105 @@ "y" : 2 }, { - "drilldown" : "Laurent Rosenfeld", "y" : 3, - "name" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld" }, { - "drilldown" : "Lubos Kolouch", "y" : 2, - "name" : "Lubos Kolouch" + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch" }, { + "drilldown" : "Mark Anderson", "name" : "Mark Anderson", - "y" : 2, - "drilldown" : "Mark Anderson" + "y" : 2 }, { - "name" : "Markus Holzer", "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", "y" : 2 }, { - "drilldown" : "Myoungjin Jeon", "y" : 6, - "name" : "Myoungjin Jeon" + "name" : "Myoungjin Jeon", + "drilldown" : "Myoungjin Jeon" }, { - "y" : 2, + "name" : "Niels van Dijke", "drilldown" : "Niels van Dijke", - "name" : "Niels van Dijke" + "y" : 2 }, { "name" : "Nuno Vieira", - "y" : 2, - "drilldown" : "Nuno Vieira" + "drilldown" : "Nuno Vieira", + "y" : 2 }, { + "name" : "Pete Houston", "drilldown" : "Pete Houston", - "y" : 2, - "name" : "Pete Houston" + "y" : 2 }, { - "y" : 2, + "name" : "Philip Hood", "drilldown" : "Philip Hood", - "name" : "Philip Hood" + "y" : 2 }, { - "name" : "Roger Bell_West", + "y" : 5, "drilldown" : "Roger Bell_West", - "y" : 5 + "name" : "Roger Bell_West" }, { - "name" : "Simon Green", "drilldown" : "Simon Green", + "name" : "Simon Green", "y" : 3 }, { "y" : 2, - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor" + "name" : "Simon Proctor", + "drilldown" : "Simon Proctor" }, { - "drilldown" : "Steven Wilson", "y" : 1, + "drilldown" : "Steven Wilson", "name" : "Steven Wilson" }, { - "drilldown" : "Ulrich Rieke", "y" : 4, - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" }, { - "drilldown" : "Vinod Kumar K", "y" : 1, + "drilldown" : "Vinod Kumar K", "name" : "Vinod Kumar K" }, { "name" : "Walt Mankowski", - "y" : 3, - "drilldown" : "Walt Mankowski" + "drilldown" : "Walt Mankowski", + "y" : 3 }, { "y" : 1, - "drilldown" : "Wanderdoc", - "name" : "Wanderdoc" + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc" } - ] + ], + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 082" } ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "subtitle" : { + "text" : "[Champions: 42] Last updated at 2020-10-19 00:19:00 GMT" }, "chart" : { "type" : "column" }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { + "id" : "Abigail", "data" : [ [ "Perl", @@ -249,11 +265,9 @@ 2 ] ], - "name" : "Abigail", - "id" : "Abigail" + "name" : "Abigail" }, { - "id" : "Adam Russell", "data" : [ [ "Perl", @@ -264,20 +278,21 @@ 1 ] ], + "id" : "Adam Russell", "name" : "Adam Russell" }, { + "id" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] ], - "name" : "Alexander Pankoff", - "id" : "Alexander Pankoff" + "name" : "Alexander Pankoff" }, { - "id" : "Andinus", + "name" : "Andinus", "data" : [ [ "Perl", @@ -288,20 +303,20 @@ 1 ] ], - "name" : "Andinus" + "id" : "Andinus" }, { - "id" : "Andrew Shitov", "data" : [ [ "Raku", 2 ] ], + "id" : "Andrew Shitov", "name" : "Andrew Shitov" }, { - "name" : "Arne Sommer", + "id" : "Arne Sommer", "data" : [ [ "Raku", @@ -312,11 +327,10 @@ 1 ] ], - "id" : "Arne Sommer" + "name" : "Arne Sommer" }, { "id" : "Athanasius", - "name" : "Athanasius", "data" : [ [ "Perl", @@ -326,37 +340,46 @@ "Raku", 2 ] - ] + ], + "name" : "Athanasius" }, { "name" : "Bob Lied", + "id" : "Bob Lied", "data" : [ [ "Perl", 2 ] - ], - "id" : "Bob Lied" + ] }, { "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 2 ] - ], - "id" : "Cheok-Yin Fung" + ] }, { + "name" : "Colin Crain", "id" : "Colin Crain", "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], [ "Blog", 1 ] - ], - "name" : "Colin Crain" + ] }, { "name" : "Cristina Heredia", @@ -369,17 +392,16 @@ "id" : "Cristina Heredia" }, { - "id" : "Dave Cross", + "name" : "Dave Cross", "data" : [ [ "Perl", 2 ] ], - "name" : "Dave Cross" + "id" : "Dave Cross" }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -390,17 +412,18 @@ 1 ] ], - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { "name" : "Dieter Dobbelaere", + "id" : "Dieter Dobbelaere", "data" : [ [ "Perl", 2 ] - ], - "id" : "Dieter Dobbelaere" + ] }, { "data" : [ @@ -409,22 +432,22 @@ 2 ] ], - "name" : "Duncan C. White", - "id" : "Duncan C. White" + "id" : "Duncan C. White", + "name" : "Duncan C. White" }, { + "name" : "E. Choroba", + "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba", - "id" : "E. Choroba" + ] }, { - "id" : "Feng Chang", "name" : "Feng Chang", + "id" : "Feng Chang", "data" : [ [ "Raku", @@ -433,8 +456,8 @@ ] }, { - "id" : "Flavio Poletti", "name" : "Flavio Poletti", + "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -447,7 +470,7 @@ ] }, { - "name" : "Jaldhar H. Vyas", + "id" : "Jaldhar H. Vyas", "data" : [ [ "Perl", @@ -462,37 +485,37 @@ 1 ] ], - "id" : "Jaldhar H. Vyas" + "name" : "Jaldhar H. Vyas" }, { - "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] ], + "id" : "Jan Krnavek", "name" : "Jan Krnavek" }, { - "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "name" : "Jorg Sommrey" + "id" : "Jorg Sommrey" }, { + "name" : "Jose Luis", + "id" : "Jose Luis", "data" : [ [ "Perl", 2 ] - ], - "name" : "Jose Luis", - "id" : "Jose Luis" + ] }, { "name" : "Julio de Castro", @@ -529,11 +552,11 @@ 2 ] ], - "name" : "Lars Thegler", - "id" : "Lars Thegler" + "id" : "Lars Thegler", + "name" : "Lars Thegler" }, { - "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -548,11 +571,11 @@ 1 ] ], - "name" : "Laurent Rosenfeld" + "id" : "Laurent Rosenfeld" }, { - "id" : "Lubos Kolouch", "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch", "data" : [ [ "Perl", @@ -561,8 +584,8 @@ ] }, { - "id" : "Mark Anderson", "name" : "Mark Anderson", + "id" : "Mark Anderson", "data" : [ [ "Raku", @@ -571,16 +594,17 @@ ] }, { + "name" : "Markus Holzer", "id" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ], - "name" : "Markus Holzer" + ] }, { + "id" : "Myoungjin Jeon", "data" : [ [ "Perl", @@ -595,50 +619,50 @@ 2 ] ], - "name" : "Myoungjin Jeon", - "id" : "Myoungjin Jeon" + "name" : "Myoungjin Jeon" }, { - "id" : "Niels van Dijke", - "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { - "id" : "Nuno Vieira", "name" : "Nuno Vieira", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Nuno Vieira" }, { + "name" : "Pete Houston", "id" : "Pete Houston", "data" : [ [ "Perl", 2 ] - ], - "name" : "Pete Houston" + ] }, { - "id" : "Philip Hood", - "name" : "Philip Hood", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Philip Hood", + "name" : "Philip Hood" }, { + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -653,10 +677,11 @@ 1 ] ], - "name" : "Roger Bell_West", - "id" : "Roger Bell_West" + "name" : "Roger Bell_West" }, { + "name" : "Simon Green", + "id" : "Simon Green", "data" : [ [ "Perl", @@ -666,28 +691,26 @@ "Blog", 1 ] - ], - "name" : "Simon Green", - "id" : "Simon Green" + ] }, { - "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "id" : "Simon Proctor" + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { + "name" : "Steven Wilson", "data" : [ [ "Perl", 1 ] ], - "name" : "Steven Wilson", "id" : "Steven Wilson" }, { @@ -705,14 +728,14 @@ "name" : "Ulrich Rieke" }, { + "name" : "Vinod Kumar K", + "id" : "Vinod Kumar K", "data" : [ [ "Perl", 1 ] - ], - "name" : "Vinod Kumar K", - "id" : "Vinod Kumar K" + ] }, { "name" : "Walt Mankowski", @@ -729,30 +752,15 @@ "id" : "Walt Mankowski" }, { - "id" : "Wanderdoc", "name" : "Wanderdoc", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Wanderdoc" } ] - }, - "title" : { - "text" : "Perl Weekly Challenge - 082" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "subtitle" : { - "text" : "[Champions: 42] Last updated at 2020-10-19 00:00:48 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index f3a64ef990..30c53b0847 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,22 +1,25 @@ { "subtitle" : { - "text" : "Last updated at 2020-10-19 00:00:48 GMT" + "text" : "Last updated at 2020-10-19 00:19:00 GMT" }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" + "chart" : { + "type" : "column" }, "series" : [ { "name" : "Contributions", + "dataLabels" : { + "y" : 10, + "color" : "#FFFFFF", + "rotation" : -90, + "format" : "{point.y:.0f}", + "enabled" : "true", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "align" : "right" + }, "data" : [ [ "Blog", @@ -24,40 +27,37 @@ ], [ "Perl", - 3581 + 3583 ], [ "Raku", - 2293 + 2295 ] - ], - "dataLabels" : { - "align" : "right", - "color" : "#FFFFFF", - "y" : 10, - "format" : "{point.y:.0f}", - "enabled" : "true", - "rotation" : -90, - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } + ] } ], + "legend" : { + "enabled" : "false" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } + }, "yAxis" : { "title" : { "text" : null }, "min" : 0 }, - "chart" : { - "type" : "column" - }, - "legend" : { - "enabled" : "false" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 68ca1533cc..cc79633d34 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,1639 +1,147 @@ { - "tooltip" : { - "headerFormat" : "", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true" - }, - "drilldown" : { - "series" : [ - { - "name" : "001", - "data" : [ - [ - "Perl", - 88 - ], - [ - "Raku", - 45 - ], - [ - "Blog", - 11 - ] - ], - "id" : "001" - }, - { - "name" : "002", - "data" : [ - [ - "Perl", - 69 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 10 - ] - ], - "id" : "002" - }, - { - "name" : "003", - "data" : [ - [ - "Perl", - 34 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 9 - ] - ], - "id" : "003" - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ], - "name" : "004", - "id" : "004" - }, - { - "id" : "005", - "name" : "005", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "006", - "data" : [ - [ - "Perl", - 29 - ], - [ - "Raku", - 16 - ], - [ - "Blog", - 7 - ] - ], - "id" : "006" - }, - { - "id" : "007", - "data" : [ - [ - "Perl", - 28 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 10 - ] - ], - "name" : "007" - }, - { - "id" : "008", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 20 - ], - [ - "Blog", - 12 - ] - ], - "name" : "008" - }, - { - "id" : "009", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 13 - ] - ], - "name" : "009" - }, - { - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 17 - ], - [ - "Blog", - 11 - ] - ], - "name" : "010", - "id" : "010" - }, - { - "name" : "011", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 10 - ] - ], - "id" : "011" - }, - { - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 11 - ] - ], - "name" : "012", - "id" : "012" - }, - { - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 13 - ] - ], - "name" : "013", - "id" : "013" - }, - { - "name" : "014", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 15 - ] - ], - "id" : "014" - }, - { - "id" : "015", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ], - "name" : "015" - }, - { - "id" : "016", - "name" : "016", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 12 - ] - ], - "name" : "017", - "id" : "017" - }, - { - "name" : "018", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 14 - ] - ], - "id" : "018" - }, - { - "id" : "019", - "name" : "019", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "id" : "020", - "name" : "020", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "id" : "021", - "name" : "021", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 10 - ] - ], - "name" : "022", - "id" : "022" - }, - { - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 12 - ] - ], - "name" : "023", - "id" : "023" - }, - { - "id" : "024", - "name" : "024", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "025", - "data" : [ - [ - "Perl", - 26 - ], - [ - "Raku", - 17 - ], - [ - "Blog", - 12 - ] - ], - "id" : "025" - }, - { - "id" : "026", - "name" : "026", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "id" : "027", - "name" : "027", - "data" : [ - [ - "Perl", - 29 - ], - [ - "Raku", - 20 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "id" : "028", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 9 - ] - ], - "name" : "028" - }, - { - "id" : "029", - "name" : "029", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "030", - "name" : "030", - "data" : [ - [ - "Perl", - 74 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "id" : "031", - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 9 - ] - ], - "name" : "031" - }, - { - "name" : "032", - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 10 - ] - ], - "id" : "032" - }, - { - "id" : "033", - "name" : "033", - "data" : [ - [ - "Perl", - 62 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "id" : "034", - "data" : [ - [ - "Perl", - 30 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 11 - ] - ], - "name" : "034" - }, - { - "id" : "035", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 20 - ], - [ - "Blog", - 9 - ] - ], - "name" : "035" - }, - { - "name" : "036", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 20 - ], - [ - "Blog", - 11 - ] - ], - "id" : "036" - }, - { - "id" : "037", - "data" : [ - [ - "Perl", - 34 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ], - "name" : "037" - }, - { - "name" : "038", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 12 - ] - ], - "id" : "038" - }, - { - "id" : "039", - "data" : [ - [ - "Perl", - 29 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 12 - ] - ], - "name" : "039" - }, - { - "name" : "040", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 10 - ] - ], - "id" : "040" - }, - { - "id" : "041", - "name" : "041", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ], - "name" : "042", - "id" : "042" - }, - { - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 11 - ] - ], - "name" : "043", - "id" : "043" - }, - { - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ], - "name" : "044", - "id" : "044" - }, - { - "id" : "045", - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 11 - ] - ], - "name" : "045" - }, - { - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ], - "name" : "046", - "id" : "046" - }, - { - "name" : "047", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 10 - ] - ], - "id" : "047" - }, - { - "id" : "048", - "name" : "048", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "049", - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 12 - ] - ], - "id" : "049" - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 12 - ] - ], - "name" : "050", - "id" : "050" - }, - { - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ], - "name" : "051", - "id" : "051" - }, - { - "id" : "052", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 14 - ] - ], - "name" : "052" - }, - { - "name" : "053", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 15 - ] - ], - "id" : "053" - }, - { - "id" : "054", - "name" : "054", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "name" : "055", - "id" : "055" - }, - { - "id" : "056", - "name" : "056", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "057", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 15 - ] - ], - "name" : "057" - }, - { - "id" : "058", - "name" : "058", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ], - "name" : "059", - "id" : "059" - }, - { - "id" : "060", - "name" : "060", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 14 - ] - ], - "name" : "061", - "id" : "061" - }, - { - "id" : "062", - "data" : [ - [ - "Perl", - 26 - ], - [ - "Raku", - 17 - ], - [ - "Blog", - 11 - ] - ], - "name" : "062" - }, - { - "name" : "063", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 13 - ] - ], - "id" : "063" - }, - { - "id" : "064", - "name" : "064", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "065", - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 15 - ] - ], - "id" : "065" - }, - { - "id" : "066", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 14 - ] - ], - "name" : "066" - }, - { - "id" : "067", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 18 - ] - ], - "name" : "067" - }, - { - "id" : "068", - "name" : "068", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "id" : "069", - "name" : "069", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 17 - ] - ], - "name" : "070", - "id" : "070" - }, - { - "id" : "071", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 30 - ]