From 5630d4ba0b2fdd9762cbceb0f276811a5e4f469f Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Fri, 14 Aug 2020 23:51:20 +0100 Subject: - Added solutions by Colin Crain. --- challenge-073/colin-crain/blog.txt | 1 + challenge-073/colin-crain/perl/ch-1.pl | 70 ++++ challenge-073/colin-crain/perl/ch-2.pl | 110 +++++++ challenge-073/colin-crain/raku/ch-1.raku | 46 +++ challenge-073/colin-crain/raku/ch-2.raku | 93 ++++++ stats/pwc-current.json | 359 ++++++++++---------- stats/pwc-language-breakdown-summary.json | 76 ++--- stats/pwc-language-breakdown.json | 528 +++++++++++++++--------------- stats/pwc-leaders.json | 380 ++++++++++----------- stats/pwc-summary-1-30.json | 106 +++--- stats/pwc-summary-121-150.json | 42 +-- stats/pwc-summary-151-180.json | 130 ++++---- stats/pwc-summary-181-210.json | 48 +-- stats/pwc-summary-31-60.json | 58 ++-- stats/pwc-summary-61-90.json | 30 +- stats/pwc-summary-91-120.json | 38 +-- stats/pwc-summary.json | 416 +++++++++++------------ 17 files changed, 1437 insertions(+), 1094 deletions(-) create mode 100644 challenge-073/colin-crain/blog.txt create mode 100644 challenge-073/colin-crain/perl/ch-1.pl create mode 100644 challenge-073/colin-crain/perl/ch-2.pl create mode 100644 challenge-073/colin-crain/raku/ch-1.raku create mode 100644 challenge-073/colin-crain/raku/ch-2.raku diff --git a/challenge-073/colin-crain/blog.txt b/challenge-073/colin-crain/blog.txt new file mode 100644 index 0000000000..ba0424382b --- /dev/null +++ b/challenge-073/colin-crain/blog.txt @@ -0,0 +1 @@ +https://colincrain.wordpress.com/2020/08/15/open-the-window-just-a-little-bit-so-your-smallest-smaller-neighbor-can-get-in/ diff --git a/challenge-073/colin-crain/perl/ch-1.pl b/challenge-073/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..370ad1ca0c --- /dev/null +++ b/challenge-073/colin-crain/perl/ch-1.pl @@ -0,0 +1,70 @@ +#! /opt/local/bin/perl +# +# open-the-window-a-little-bit.pl +# +# TASK #1 › Min Sliding Window +# Submitted by: Mohammad S Anwar +# +# You are given an array of integers @A and sliding window size $S. +# +# Write a script to create an array of min from each sliding window. +# +# Example +# Input: @A = (1, 5, 0, 2, 9, 3, 7, 6, 4, 8) and $S = 3 +# Output: (0, 0, 0, 2, 3, 3, 4, 4) +# +# [(1 5 0) 2 9 3 7 6 4 8] = Min (0) +# [1 (5 0 2) 9 3 7 6 4 8] = Min (0) +# [1 5 (0 2 9) 3 7 6 4 8] = Min (0) +# [1 5 0 (2 9 3) 7 6 4 8] = Min (2) +# [1 5 0 2 (9 3 7) 6 4 8] = Min (3) +# [1 5 0 2 9 (3 7 6) 4 8] = Min (3) +# [1 5 0 2 9 3 (7 6 4) 8] = Min (4) +# [1 5 0 2 9 3 7 (6 4 8)] = Min (4) +# +# +# method: +# +# array slices to the rescue! Iterate over 0 to (last - window size) +# find min and push to output array. +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + + +my ($S, @A) = @ARGV; + +# $S = 3; +# @A = (1, 5, 0, 2, 9, 3, 7, 6, 4, 8); + +my $end = @A - $S; +my @output; + +for ( 0..$end ){ + my $min = minimum( @A[$_..$_+$S-1] ); + push @output, $min; +} + + +say "input: @A window size $S"; +say "output: @output"; + +## ## ## ## ## SUBS: + +sub minimum { + my $min = "inf"; + $_ < $min and $min = $_ for @_; + return $min; +} + + + + diff --git a/challenge-073/colin-crain/perl/ch-2.pl b/challenge-073/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..20e2066a77 --- /dev/null +++ b/challenge-073/colin-crain/perl/ch-2.pl @@ -0,0 +1,110 @@ +#! /opt/local/bin/perl +# +# smallest_smaller_neighbor.pl +# +# TASK #2 › Smallest (Smaller) Neighbour +# Submitted by: Mohammad S Anwar +# You are given an array of integers @A. +# +# Write a script to create an array that represents the +# smallest element to the left of each corresponding +# index. If none found then use 0. +# +# Example 1 +# Input: @A = (7, 8, 3, 12, 10) +# Output: (0, 7, 0, 3, 3) +# +# For index 0, the smallest number to the left of $A[0] +# is none, so we put 0. +# For index 1, the smallest number to the left of $A[1] +# in (7), is 7 so we put 7. +# For index 2, the smallest number to the left of $A[2] +# in (7, 8) is none, so we put 0. +# For index 3, the smallest number to the left of $A[3] +# in (7, 8, 3) is 3, so we put 3. +# For index 4, the smallest number to the left of $A[4] +# is (7, 8, 3, 12) is 3, so we put 3 again. +# +# Example 2 +# Input: @A = (4, 6, 5) +# Output: (0, 4, 4) +# +# For index 0, the smallest number to the left of $A[0] +# is none, so we put 0. +# For index 1, the smallest number to the left of $A[1] +# in (4) is 4, so we put 4. +# For index 2, the smallest number to the left of $A[2] +# in (4, 6) is 4, so we put 4 again. +# +# method: +# smallest neighbor is a confusing title, as we are not +# looking for the smallest element to the left of a +# given index, but rather the smallest element to the +# left of the index that is smaller than that element. +# Or stated another way, the minimum item of the slice +# A[0..$i-1] that is less than A[$i]. When we put it +# like that the challenge really resembles the +# previous, only the size of the window is dynamic and +# there is some additional comparison going on. But the +# process is very similar: iterate acrosss the field, +# selecting a slice for each index, and determine the +# minimum value within that slice. Instead of just +# taking the minimum value, though, in the case we can +# add some additional processing in the function +# called. +# +# As there are never any elements to the left of index +# 0, the first digit will always be 0 and hence can be +# inserted from the get-go. After that, starting at +# index 1, the slice from 0 to the current index is +# passed to our smallest_neighbor function, where the +# indexed value immediately popped off the end. The +# minimum of the remaining slice is found, and if that +# value is less than the index value it is returned, +# else 0. There is no need to make more than one pass +# over the list, as the minimum will be the minimum no +# matter its value. +# +# As 0 is a real value that is right in the middle of +# the potential range (as negative values are not +# disallowed), using it to label a target miss could be +# a bit confusing. With that in mind i have taken the +# liberty to substitute the null set sign '∅' instead, +# which looks a lot like '0' in my preferred font, but +# isn't, as it makes understanding what's happening +# just a little bit easier. +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + +my @input = @ARGV; +@input = (7, 8, -3, 12, -10); +my @output = ('∅'); + +for (1..@input-1) { + my @slice = @input[0..$_]; + my $smallest = smallest_neighbor( @slice ); + push @output, $smallest; +} + +say "Input: @input"; +say "Output: ", join ', ', @output; + +## ## ## ## ## SUBS: + +sub smallest_neighbor { +## find the minimum value to the left and return it if +## min < given value, else 0 + my $value = pop @_; + my $min = "inf"; + $_ < $min and $min = $_ for @_; + $min < $value ? $min : '∅'; +} \ No newline at end of file diff --git a/challenge-073/colin-crain/raku/ch-1.raku b/challenge-073/colin-crain/raku/ch-1.raku new file mode 100644 index 0000000000..810f075bf0 --- /dev/null +++ b/challenge-073/colin-crain/raku/ch-1.raku @@ -0,0 +1,46 @@ +#!/usr/bin/env perl6 +# +# +# open-the-window.raku +# +# TASK #1 › Min Sliding Window +# Submitted by: Mohammad S Anwar +# +# You are given an array of integers @A and sliding window size $S. +# +# Write a script to create an array of min from each sliding window. +# +# Example +# Input: @A = (1, 5, 0, 2, 9, 3, 7, 6, 4, 8) and $S = 3 +# Output: (0, 0, 0, 2, 3, 3, 4, 4) +# +# [(1 5 0) 2 9 3 7 6 4 8] = Min (0) +# [1 (5 0 2) 9 3 7 6 4 8] = Min (0) +# [1 5 (0 2 9) 3 7 6 4 8] = Min (0) +# [1 5 0 (2 9 3) 7 6 4 8] = Min (2) +# [1 5 0 2 (9 3 7) 6 4 8] = Min (3) +# [1 5 0 2 9 (3 7 6) 4 8] = Min (3) +# [1 5 0 2 9 3 (7 6 4) 8] = Min (4) +# [1 5 0 2 9 3 7 (6 4 8)] = Min (4) +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN (Int $S where $S > 0 = 3, *@A ); + +## default array +@A = 1, 5, 0, 2, 9, 3, 7, 6, 4, 8 if @A.elems == 0; + +## make windows and find min within each to output +my @windows = @A.rotor($S=>-$S+1); +my @output = @windows.map( *.min ); + +## output +say "input: ", @A, " window size $S"; +say "windows: ", |@windows; +say "output: ", @output; + diff --git a/challenge-073/colin-crain/raku/ch-2.raku b/challenge-073/colin-crain/raku/ch-2.raku new file mode 100644 index 0000000000..2b0cb747a9 --- /dev/null +++ b/challenge-073/colin-crain/raku/ch-2.raku @@ -0,0 +1,93 @@ +#!/usr/bin/env perl6 +# +# +# smallest_smaller_neighbor.raku +# +# TASK #2 › Smallest (Smaller) Neighbour +# Submitted by: Mohammad S Anwar +# You are given an array of integers @A. +# +# Write a script to create an array that represents the +# smallest element to the left of each corresponding +# index. If none found then use 0. +# +# Example 1 +# Input: @A = (7, 8, 3, 12, 10) +# Output: (0, 7, 0, 3, 3) +# +# For index 0, the smallest number to the left of $A[0] +# is none, so we put 0. +# For index 1, the smallest number to the left of $A[1] +# in (7), is 7 so we put 7. +# For index 2, the smallest number to the left of $A[2] +# in (7, 8) is none, so we put 0. +# For index 3, the smallest number to the left of $A[3] +# in (7, 8, 3) is 3, so we put 3. +# For index 4, the smallest number to the left of $A[4] +# is (7, 8, 3, 12) is 3, so we put 3 again. +# +# Example 2 +# Input: @A = (4, 6, 5) +# Output: (0, 4, 4) +# +# For index 0, the smallest number to the left of $A[0] +# is none, so we put 0. +# For index 1, the smallest number to the left of $A[1] +# in (4) is 4, so we put 4. +# For index 2, the smallest number to the left of $A[2] +# in (4, 6) is 4, so we put 4 again. +# +# method: +# +# smallest neighbor is a confusing title, as we are not +# looking for the smallest element to the left of a +# given index, but rather the smallest element to the +# left of the index that is smaller than that at the index. +# +# “triangular comma” produces a list of lists, each with +# one more element of the original array appended. Which, +# incidentally, is exactly what we need. Well almost, +# because each element is a list, rather than an array. +# By coercing it as such before we hand it off to our +# smallest_neighbor() sub we can then pop off the +# rightmost value and compute the output from there, +# using min and a comparison check to see whether the +# value of the minimum is less than the last element. +# +# As 0 is a real value that is right in the middle of +# the potential range (as negative values are not +# disallowed), using it to label a target miss could be +# a bit confusing. With that in mind I have taken the +# liberty to substitute the null set sign '∅', +# which looks a lot like '0' in my preferred font, but +# isn't, as it makes understanding what's happening +# just a little bit easier. + + +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN () ; + +my @input = 7, 8, 3, 12, 10; +my @output; + +for [\,] @input { ## triangular comma + push @output, smallest_neighbor( $_.Array ); # $_ is List +} + +sub smallest_neighbor( @slice ) { +## find the minimum value to the left of last value not inclusive +## return it if less than last, else ∅ + my $val = @slice.pop; + my $min = @slice.min; + $min < $val ?? $min !! '∅'; +} + +@input .say; +@output.say; + + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 8688713e20..310eaa08e5 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,33 +1,138 @@ { - "subtitle" : { - "text" : "[Champions: 21] Last updated at 2020-08-14 22:38:35 GMT" + "series" : [ + { + "data" : [ + { + "name" : "Andrew Shitov", + "y" : 3, + "drilldown" : "Andrew Shitov" + }, + { + "drilldown" : "Athanasius", + "name" : "Athanasius", + "y" : 4 + }, + { + "drilldown" : "Ben Davies", + "y" : 2, + "name" : "Ben Davies" + }, + { + "drilldown" : "Colin Crain", + "y" : 5, + "name" : "Colin Crain" + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 2 + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 + }, + { + "y" : 2, + "name" : "Jan Krnavek", + "drilldown" : "Jan Krnavek" + }, + { + "drilldown" : "Jason Messer", + "y" : 2, + "name" : "Jason Messer" + }, + { + "y" : 5, + "name" : "Javier Luque", + "drilldown" : "Javier Luque" + }, + { + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey", + "y" : 2 + }, + { + "name" : "Laurent Rosenfeld", + "y" : 5, + "drilldown" : "Laurent Rosenfeld" + }, + { + "drilldown" : "Mark Anderson", + "y" : 2, + "name" : "Mark Anderson" + }, + { + "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", + "y" : 2 + }, + { + "y" : 5, + "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar" + }, + { + "y" : 2, + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke" + }, + { + "name" : "Pavel Kuptsov", + "y" : 2, + "drilldown" : "Pavel Kuptsov" + }, + { + "drilldown" : "Pete Houston", + "name" : "Pete Houston", + "y" : 2 + }, + { + "drilldown" : "Roger Bell_West", + "y" : 4, + "name" : "Roger Bell_West" + }, + { + "y" : 2, + "name" : "Shawn Wagner", + "drilldown" : "Shawn Wagner" + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 4 + }, + { + "drilldown" : "Wanderdoc", + "y" : 2, + "name" : "Wanderdoc" + } + ], + "name" : "Perl Weekly Challenge - 073", + "colorByPoint" : 1 + } + ], + "title" : { + "text" : "Perl Weekly Challenge - 073" }, - "legend" : { - "enabled" : 0 + "subtitle" : { + "text" : "[Champions: 22] Last updated at 2020-08-14 22:51:09 GMT" }, "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
", "headerFormat" : "{series.name}
" }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { + "name" : "Andrew Shitov", + "id" : "Andrew Shitov", "data" : [ [ "Raku", @@ -37,12 +142,10 @@ "Blog", 1 ] - ], - "id" : "Andrew Shitov", - "name" : "Andrew Shitov" + ] }, { - "id" : "Athanasius", + "name" : "Athanasius", "data" : [ [ "Perl", @@ -53,27 +156,45 @@ 2 ] ], - "name" : "Athanasius" + "id" : "Athanasius" + }, + { + "id" : "Ben Davies", + "data" : [ + [ + "Raku", + 2 + ] + ], + "name" : "Ben Davies" }, { - "name" : "Ben Davies", "data" : [ + [ + "Perl", + 2 + ], [ "Raku", 2 + ], + [ + "Blog", + 1 ] ], - "id" : "Ben Davies" + "id" : "Colin Crain", + "name" : "Colin Crain" }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] ], - "id" : "Dave Jacoby" + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { "id" : "E. Choroba", @@ -86,28 +207,26 @@ "name" : "E. Choroba" }, { + "name" : "Jan Krnavek", "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ], - "name" : "Jan Krnavek" + ] }, { - "name" : "Jason Messer", + "id" : "Jason Messer", "data" : [ [ "Raku", 2 ] ], - "id" : "Jason Messer" + "name" : "Jason Messer" }, { - "name" : "Javier Luque", - "id" : "Javier Luque", "data" : [ [ "Perl", @@ -121,7 +240,9 @@ "Blog", 1 ] - ] + ], + "id" : "Javier Luque", + "name" : "Javier Luque" }, { "name" : "Jorg Sommrey", @@ -135,7 +256,6 @@ }, { "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -149,17 +269,18 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld" }, { + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "id" : "Mark Anderson" }, { "data" : [ @@ -173,6 +294,7 @@ }, { "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -186,17 +308,16 @@ "Blog", 1 ] - ], - "id" : "Mohammad S Anwar" + ] }, { + "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "id" : "Niels van Dijke", "name" : "Niels van Dijke" }, { @@ -210,17 +331,16 @@ "id" : "Pavel Kuptsov" }, { + "name" : "Pete Houston", "data" : [ [ "Perl", 2 ] ], - "id" : "Pete Houston", - "name" : "Pete Houston" + "id" : "Pete Houston" }, { - "name" : "Roger Bell_West", "id" : "Roger Bell_West", "data" : [ [ @@ -231,30 +351,30 @@ "Raku", 2 ] - ] + ], + "name" : "Roger Bell_West" }, { + "name" : "Shawn Wagner", "id" : "Shawn Wagner", "data" : [ [ "Perl", 2 ] - ], - "name" : "Shawn Wagner" + ] }, { - "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "name" : "Simon Proctor" + "id" : "Simon Proctor" }, { - "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", "data" : [ [ @@ -265,7 +385,8 @@ "Raku", 2 ] - ] + ], + "name" : "Ulrich Rieke" }, { "data" : [ @@ -279,125 +400,27 @@ } ] }, + "chart" : { + "type" : "column" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "title" : { - "text" : "Perl Weekly Challenge - 073" + "legend" : { + "enabled" : 0 }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 073", - "colorByPoint" : 1, - "data" : [ - { - "y" : 3, - "drilldown" : "Andrew Shitov", - "name" : "Andrew Shitov" - }, - { - "name" : "Athanasius", - "y" : 4, - "drilldown" : "Athanasius" - }, - { - "name" : "Ben Davies", - "drilldown" : "Ben Davies", - "y" : 2 - }, - { - "drilldown" : "Dave Jacoby", - "y" : 2, - "name" : "Dave Jacoby" - }, - { - "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" - }, - { - "name" : "Jan Krnavek", - "y" : 2, - "drilldown" : "Jan Krnavek" - }, - { - "name" : "Jason Messer", - "drilldown" : "Jason Messer", - "y" : 2 - }, - { - "name" : "Javier Luque", - "y" : 5, - "drilldown" : "Javier Luque" - }, - { - "y" : 2, - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey" - }, - { - "name" : "Laurent Rosenfeld", - "y" : 5, - "drilldown" : "Laurent Rosenfeld" - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "name" : "Markus Holzer", - "y" : 2, - "drilldown" : "Markus Holzer" - }, - { - "name" : "Mohammad S Anwar", - "y" : 5, - "drilldown" : "Mohammad S Anwar" - }, - { - "drilldown" : "Niels van Dijke", - "y" : 2, - "name" : "Niels van Dijke" - }, - { - "name" : "Pavel Kuptsov", - "y" : 2, - "drilldown" : "Pavel Kuptsov" - }, - { - "y" : 2, - "drilldown" : "Pete Houston", - "name" : "Pete Houston" - }, - { - "drilldown" : "Roger Bell_West", - "y" : 4, - "name" : "Roger Bell_West" - }, - { - "name" : "Shawn Wagner", - "y" : 2, - "drilldown" : "Shawn Wagner" - }, - { - "name" : "Simon Proctor", - "y" : 2, - "drilldown" : "Simon Proctor" - }, - { - "name" : "Ulrich Rieke", - "y" : 4, - "drilldown" : "Ulrich Rieke" - }, - { - "name" : "Wanderdoc", - "drilldown" : "Wanderdoc", - "y" : 2 - } - ] - } - ] + "xAxis" : { + "type" : "category" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index ea52131f65..95915721db 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } + }, + "legend" : { + "enabled" : "false" + }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 + } }, "chart" : { "type" : "column" }, - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, + "subtitle" : { + "text" : "Last updated at 2020-08-14 22:51:09 GMT" }, "series" : [ { + "dataLabels" : { + "format" : "{point.y:.0f}", + "rotation" : -90, + "color" : "#FFFFFF", + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "y" : 10, + "align" : "right", + "enabled" : "true" + }, "data" : [ [ "Blog", - 876 + 877 ], [ "Perl", - 3017 + 3019 ], [ "Raku", - 1967 + 1969 ] ], - "dataLabels" : { - "format" : "{point.y:.0f}", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "color" : "#FFFFFF", - "align" : "right", - "y" : 10, - "enabled" : "true", - "rotation" : -90 - }, "name" : "Contributions" } - ], - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "subtitle" : { - "text" : "Last updated at 2020-08-14 22:38:35 GMT" - }, - "legend" : { - "enabled" : "false" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 060ffeed5a..8b3c61896c 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,45 +1,23 @@ { - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true", - "headerFormat" : "" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "legend" : { - "enabled" : "false" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-08-14 22:38:35 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, "series" : [ { "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Languages", "data" : [ { "drilldown" : "001", - "y" : 142, - "name" : "#001" + "name" : "#001", + "y" : 142 }, { - "name" : "#002", + "drilldown" : "002", "y" : 109, - "drilldown" : "002" + "name" : "#002" }, { - "name" : "#003", "drilldown" : "003", - "y" : 71 + "y" : 71, + "name" : "#003" }, { "drilldown" : "004", @@ -47,28 +25,28 @@ "name" : "#004" }, { + "drilldown" : "005", "name" : "#005", - "y" : 72, - "drilldown" : "005" + "y" : 72 }, { + "y" : 52, "name" : "#006", - "drilldown" : "006", - "y" : 52 + "drilldown" : "006" }, { - "name" : "#007", "drilldown" : "007", + "name" : "#007", "y" : 59 }, { + "name" : "#008", "y" : 72, - "drilldown" : "008", - "name" : "#008" + "drilldown" : "008" }, { - "name" : "#009", "y" : 68, + "name" : "#009", "drilldown" : "009" }, { @@ -77,109 +55,109 @@ "drilldown" : "010" }, { - "name" : "#011", + "drilldown" : "011", "y" : 79, - "drilldown" : "011" + "name" : "#011" }, { - "drilldown" : "012", "y" : 83, - "name" : "#012" + "name" : "#012", + "drilldown" : "012" }, { - "y" : 76, "drilldown" : "013", + "y" : 76, "name" : "#013" }, { - "name" : "#014", + "drilldown" : "014", "y" : 96, - "drilldown" : "014" + "name" : "#014" }, { + "name" : "#015", "y" : 93, - "drilldown" : "015", - "name" : "#015" + "drilldown" : "015" }, { - "drilldown" : "016", + "name" : "#016", "y" : 66, - "name" : "#016" + "drilldown" : "016" }, { + "drilldown" : "017", "name" : "#017", - "y" : 79, - "drilldown" : "017" + "y" : 79 }, { "y" : 76, - "drilldown" : "018", - "name" : "#018" + "name" : "#018", + "drilldown" : "018" }, { "drilldown" : "019", - "y" : 97, - "name" : "#019" + "name" : "#019", + "y" : 97 }, { - "name" : "#020", "drilldown" : "020", + "name" : "#020", "y" : 95 }, { + "name" : "#021", "y" : 67, - "drilldown" : "021", - "name" : "#021" + "drilldown" : "021" }, { + "drilldown" : "022", "name" : "#022", - "y" : 63, - "drilldown" : "022" + "y" : 63 }, { "y" : 91, - "drilldown" : "023", - "name" : "#023" + "name" : "#023", + "drilldown" : "023" }, { - "y" : 70, "drilldown" : "024", - "name" : "#024" + "name" : "#024", + "y" : 70 }, { - "drilldown" : "025", "y" : 55, - "name" : "#025" + "name" : "#025", + "drilldown" : "025" }, { - "name" : "#026", "drilldown" : "026", - "y" : 70 + "y" : 70, + "name" : "#026" }, { "y" : 58, - "drilldown" : "027", - "name" : "#027" + "name" : "#027", + "drilldown" : "027" }, { + "y" : 78, "name" : "#028", - "drilldown" : "028", - "y" : 78 + "drilldown" : "028" }, { "drilldown" : "029", - "y" : 77, - "name" : "#029" + "name" : "#029", + "y" : 77 }, { + "y" : 115, "name" : "#030", - "drilldown" : "030", - "y" : 115 + "drilldown" : "030" }, { - "drilldown" : "031", "y" : 87, - "name" : "#031" + "name" : "#031", + "drilldown" : "031" }, { "drilldown" : "032", @@ -187,9 +165,9 @@ "name" : "#032" }, { - "drilldown" : "033", + "name" : "#033", "y" : 108, - "name" : "#033" + "drilldown" : "033" }, { "name" : "#034", @@ -198,38 +176,38 @@ }, { "name" : "#035", - "drilldown" : "035", - "y" : 62 + "y" : 62, + "drilldown" : "035" }, { "drilldown" : "036", - "y" : 66, - "name" : "#036" + "name" : "#036", + "y" : 66 }, { - "y" : 65, "drilldown" : "037", + "y" : 65, "name" : "#037" }, { - "drilldown" : "038", "y" : 65, - "name" : "#038" + "name" : "#038", + "drilldown" : "038" }, { "drilldown" : "039", - "y" : 60, - "name" : "#039" + "name" : "#039", + "y" : 60 }, { - "y" : 71, "drilldown" : "040", - "name" : "#040" + "name" : "#040", + "y" : 71 }, { + "drilldown" : "041", "name" : "#041", - "y" : 74, - "drilldown" : "041" + "y" : 74 }, { "name" : "#042", @@ -238,13 +216,13 @@ }, { "y" : 66, - "drilldown" : "043", - "name" : "#043" + "name" : "#043", + "drilldown" : "043" }, { "drilldown" : "044", - "y" : 82, - "name" : "#044" + "name" : "#044", + "y" : 82 }, { "name" : "#045", @@ -252,157 +230,158 @@ "drilldown" : "045" }, { - "name" : "#046", + "drilldown" : "046", "y" : 85, - "drilldown" : "046" + "name" : "#046" }, { - "y" : 82, "drilldown" : "047", + "y" : 82, "name" : "#047" }, { "name" : "#048", - "drilldown" : "048", - "y" : 106 + "y" : 106, + "drilldown" : "048" }, { - "name" : "#049", "y" : 85, + "name" : "#049", "drilldown" : "049" }, { - "name" : "#050", "y" : 96, + "name" : "#050", "drilldown" : "050" }, { - "name" : "#051", "drilldown" : "051", - "y" : 87 + "y" : 87, + "name" : "#051" }, { - "name" : "#052", "drilldown" : "052", - "y" : 89 + "y" : 89, + "name" : "#052" }, { "y" : 99, - "drilldown" : "053", - "name" : "#053" + "name" : "#053", + "drilldown" : "053" }, { - "name" : "#054", + "drilldown" : "054", "y" : 101, - "drilldown" : "054" + "name" : "#054" }, { + "drilldown" : "055", "name" : "#055", - "y" : 86, - "drilldown" : "055" + "y" : 86 }, { "y" : 93, - "drilldown" : "056", - "name" : "#056" + "name" : "#056", + "drilldown" : "056" }, { "name" : "#057", - "drilldown" : "057", - "y" : 78 + "y" : 78, + "drilldown" : "057" }, { - "drilldown" : "058", "y" : 67, - "name" : "#058" + "name" : "#058", + "drilldown" : "058" }, { + "name" : "#059", "y" : 82, - "drilldown" : "059", - "name" : "#059" + "drilldown" : "059" }, { - "drilldown" : "060", + "name" : "#060", "y" : 83, - "name" : "#060" + "drilldown" : "060" }, { + "y" : 79, "name" : "#061", - "drilldown" : "061", - "y" : 79 + "drilldown" : "061" }, { - "drilldown" : "062", + "name" : "#062", "y" : 54, - "name" : "#062" + "drilldown" : "062" }, { - "drilldown" : "063", "y" : 87, - "name" : "#063" + "name" : "#063", + "drilldown" : "063" }, { + "y" : 76, "name" : "#064", - "drilldown" : "064", - "y" : 76 + "drilldown" : "064" }, { - "name" : "#065", "drilldown" : "065", + "name" : "#065", "y" : 71 }, { - "y" : 81, "drilldown" : "066", + "y" : 81, "name" : "#066" }, { - "name" : "#067", "drilldown" : "067", - "y" : 87 + "y" : 87, + "name" : "#067" }, { + "y" : 73, "name" : "#068", - "drilldown" : "068", - "y" : 73 + "drilldown" : "068" }, { + "name" : "#069", "y" : 80, - "drilldown" : "069", - "name" : "#069" + "drilldown" : "069" }, { + "y" : 90, "name" : "#070", - "drilldown" : "070", - "y" : 90 + "drilldown" : "070" }, { "name" : "#071", - "drilldown" : "071", - "y" : 75 + "y" : 75, + "drilldown" : "071" }, { - "y" : 108, "drilldown" : "072", - "name" : "#072" + "name" : "#072", + "y" : 108 }, { - "y" : 58, "drilldown" : "073", + "y" : 63, "name" : "#073" } - ], - "name" : "Perl Weekly Challenge Languages" + ] } ], - "xAxis" : { - "type" : "category" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-08-14 22:51:09 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" }, "drilldown" : { "series" : [ { "name" : "001", - "id" : "001", "data" : [ [ "Perl", @@ -416,10 +395,11 @@ "Blog", 11 ] - ] + ], + "id" : "001" }, { - "id" : "002", + "name" : "002", "data" : [ [ "Perl", @@ -434,7 +414,7 @@ 10 ] ], - "name" : "002" + "id" : "002" }, { "name" : "003", @@ -455,7 +435,6 @@ ] }, { - "id" : "004", "data" : [ [ "Perl", @@ -470,10 +449,12 @@ 10 ] ], + "id" : "004", "name" : "004" }, { "name" : "005", + "id" : "005", "data" : [ [ "Perl", @@ -487,8 +468,7 @@ "Blog", 12 ] - ], - "id" : "005" + ] }, { "name" : "006", @@ -509,6 +489,8 @@ ] }, { + "name" : "007", + "id" : "007", "data" : [ [ "Perl", @@ -522,12 +504,9 @@ "Blog", 10 ] - ], - "id" : "007", - "name" : "007" + ] }, { - "name" : "008", "id" : "008", "data" : [ [ @@ -542,9 +521,12 @@ "Blog", 12 ] - ] + ], + "name" : "008" }, { + "name" : "009", + "id" : "009", "data" : [ [ "Perl", @@ -558,9 +540,7 @@ "Blog", 13 ] - ], - "id" : "009", - "name" : "009" + ] }, { "name" : "010", @@ -600,7 +580,6 @@ }, { "name" : "012", - "id" : "012", "data" : [ [ "Perl", @@ -614,10 +593,10 @@ "Blog", 11 ] - ] + ], + "id" : "012" }, { - "name" : "013", "id" : "013", "data" : [ [ @@ -632,11 +611,10 @@ "Blog", 13 ] - ] + ], + "name" : "013" }, { - "name" : "014", - "id" : "014", "data" : [ [ "Perl", @@ -650,11 +628,12 @@ "Blog", 15 ] - ] + ], + "id" : "014", + "name" : "014" }, { "name" : "015", - "id" : "015", "data" : [ [ "Perl", @@ -668,7 +647,8 @@ "Blog", 15 ] - ] + ], + "id" : "015" }, { "name" : "016", @@ -707,6 +687,7 @@ "name" : "017" }, { + "name" : "018", "data" : [ [ "Perl", @@ -721,12 +702,9 @@ 14 ] ], - "id" : "018", - "name" : "018" + "id" : "018" }, { - "name" : "019", - "id" : "019", "data" : [ [ "Perl", @@ -740,9 +718,12 @@ "Blog", 13 ] - ] + ], + "id" : "019", + "name" : "019" }, { + "name" : "020", "id" : "020", "data" : [ [ @@ -757,11 +738,10 @@ "Blog", 13 ] - ], - "name" : "020" + ] }, { - "name" : "021", + "id" : "021", "data" : [ [ "Perl", @@ -776,7 +756,7 @@ 10 ] ], - "id" : "021" + "name" : "021" }, { "name" : "022", @@ -816,7 +796,6 @@ }, { "name" : "024", - "id" : "024", "data" : [ [ "Perl", @@ -830,9 +809,11 @@ "Blog", 11 ] - ] + ], + "id" : "024" }, { + "name" : "025", "data" : [ [ "Perl", @@ -847,8 +828,7 @@ 12 ] ], - "id" : "025", - "name" : "025" + "id" : "025" }, { "name" : "026", @@ -887,6 +867,7 @@ ] }, { + "name" : "028", "id" : "028", "data" : [ [ @@ -901,11 +882,10 @@ "Blog", 9 ] - ], - "name" : "028" + ] }, { - "id" : "029", + "name" : "029", "data" : [ [ "Perl", @@ -920,10 +900,10 @@ 12 ] ], - "name" : "029" + "id" : "029" }, { - "name" : "030", + "id" : "030", "data" : [ [ "Perl", @@ -938,10 +918,11 @@ 10 ] ], - "id" : "030" + "name" : "030" }, { "name" : "031", + "id" : "031", "data" : [ [ "Perl", @@ -955,12 +936,9 @@ "Blog", 9 ] - ], - "id" : "031" + ] }, { - "name" : "032", - "id" : "032", "data" : [ [ "Perl", @@ -974,11 +952,12 @@ "Blog", 10 ] - ] + ], + "id" : "032", + "name" : "032" }, { "name" : "033", - "id" : "033", "data" : [ [ "Perl", @@ -992,7 +971,8 @@ "Blog", 10 ] - ] + ], + "id" : "033" }, { "name" : "034", @@ -1013,6 +993,7 @@ ] }, { + "name" : "035", "id" : "035", "data" : [ [ @@ -1027,10 +1008,10 @@ "Blog", 9 ] - ], - "name" : "035" + ] }, { + "name" : "036", "id" : "036", "data" : [ [ @@ -1045,8 +1026,7 @@ "Blog", 11 ] - ], - "name" : "036" + ] }, { "data" : [ @@ -1068,7 +1048,6 @@ }, { "name" : "038", - "id" : "038", "data" : [ [ "Perl", @@ -1082,10 +1061,10 @@ "Blog", 12 ] - ] + ], + "id" : "038" }, { - "name" : "039", "data" : [ [ "Perl", @@ -1100,9 +1079,11 @@ 12 ] ], - "id" : "039" + "id" : "039", + "name" : "039" }, { + "name" : "040", "id" : "040", "data" : [ [ @@ -1117,11 +1098,9 @@ "Blog", 10 ] - ], - "name" : "040" + ] }, { - "name" : "041", "data" : [ [ "Perl", @@ -1136,11 +1115,10 @@ 9 ] ], - "id" : "041" + "id" : "041", + "name" : "041" }, { - "name" : "042", - "id" : "042", "data" : [ [ "Perl", @@ -1154,9 +1132,12 @@ "Blog", 11 ] - ] + ], + "id" : "042", + "name" : "042" }, { + "name" : "043", "id" : "043", "data" : [ [ @@ -1171,11 +1152,9 @@ "Blog", 11 ] - ], - "name" : "043" + ] }, { - "id" : "044", "data" : [ [ "Perl", @@ -1190,10 +1169,10 @@ 11 ] ], + "id" : "044", "name" : "044" }, { - "id" : "045", "data" : [ [ "Perl", @@ -1208,11 +1187,11 @@ 11 ] ], + "id" : "045", "name" : "045" }, { "name" : "046", - "id" : "046", "data" : [ [ "Perl", @@ -1226,11 +1205,11 @@ "Blog", 10 ] - ] + ], + "id" : "046" }, { "name" : "047", - "id" : "047", "data" : [ [ "Perl", @@ -1244,10 +1223,10 @@ "Blog", 10 ] - ] + ], + "id" : "047" }, { - "name" : "048", "id" : "048", "data" : [ [ @@ -1262,9 +1241,11 @@ "Blog", 12 ] - ] + ], + "name" : "048" }, { + "id" : "049", "data" : [ [ "Perl", @@ -1279,11 +1260,10 @@ 12 ] ], - "id" : "049", "name" : "049" }, { - "name" : "050", + "id" : "050", "data" : [ [ "Perl", @@ -1298,7 +1278,7 @@ 12 ] ], - "id" : "050" + "name" : "050" }, { "name" : "051", @@ -1319,7 +1299,6 @@ ] }, { - "name" : "052", "id" : "052", "data" : [ [ @@ -1334,10 +1313,10 @@ "Blog", 14 ] - ] + ], + "name" : "052" }, { - "name" : "053", "data" : [ [ "Perl", @@ -1352,7 +1331,8 @@ 15 ] ], - "id" : "053" + "id" : "053", + "name" : "053" }, { "id" : "054", @@ -1392,7 +1372,6 @@ }, { "name" : "056", - "id" : "056", "data" : [ [ "Perl", @@ -1406,9 +1385,11 @@ "Blog", 16 ] - ] + ], + "id" : "056" }, { + "name" : "057", "data" : [ [ "Perl", @@ -1423,10 +1404,10 @@ 15 ] ], - "id" : "057", - "name" : "057" + "id" : "057" }, { + "name" : "058", "data" : [ [ "Perl", @@ -1441,10 +1422,10 @@ 13 ] ], - "id" : "058", - "name" : "058" + "id" : "058" }, { + "name" : "059", "id" : "059", "data" : [ [ @@ -1459,8 +1440,7 @@ "Blog", 15 ] - ], - "name" : "059" + ] }, { "name" : "060", @@ -1482,7 +1462,6 @@ }, { "name" : "061", - "id" : "061", "data" : [ [ "Perl", @@ -1496,7 +1475,8 @@ "Blog", 14 ] - ] + ], + "id" : "061" }, { "name" : "062", @@ -1518,6 +1498,7 @@ }, { "name" : "063", + "id" : "063", "data" : [ [ "Perl", @@ -1531,11 +1512,9 @@ "Blog", 13 ] - ], - "id" : "063" + ] }, { - "name" : "064", "id" : "064", "data" : [ [ @@ -1550,9 +1529,11 @@ "Blog", 16 ] - ] + ], + "name" : "064" }, { + "name" : "065", "id" : "065", "data" : [ [ @@ -1567,8 +1548,7 @@ "Blog", 15 ] - ], - "name" : "065" + ] }, { "name" : "066", @@ -1589,7 +1569,7 @@ ] }, { - "id" : "067", + "name" : "067", "data" : [ [ "Perl", @@ -1604,11 +1584,9 @@ 17 ] ], - "name" : "067" + "id" : "067" }, { - "name" : "068", - "id" : "068", "data" : [ [ "Perl", @@ -1622,10 +1600,12 @@ "Blog", 13 ] - ] + ], + "id" : "068", + "name" : "068" }, { - "name" : "069", + "id" : "069", "data" : [ [ "Perl", @@ -1640,7 +1620,7 @@ 15 ] ], - "id" : "069" + "name" : "069" }, { "name" : "070", @@ -1661,7 +1641,7 @@ ] }, { - "name" : "071", + "id" : "071", "data" : [ [ "Perl", @@ -1676,10 +1656,9 @@ 14 ] ], - "id" : "071" + "name" : "071" }, { - "name" : "072", "id" : "072", "data" : [ [ @@ -1694,34 +1673,55 @@ "Blog", 18 ] - ] + ], + "name" : "072" }, { - "name" : "073", "data" : [ [ "Perl", - 28 + 30 ], [ "Raku", - 26 + 28 ], [ "Blog", - 4 + 5 ] ], - "id" : "073" + "id" : "073", + "name" : "073" } ] }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "", + "pointFormat" : "Challenge {point.name}: {point.y:f}
" + }, "chart" : { "type" : "column" }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, "yAxis" : { "title" : { "text" : "Total Solutions" } + }, + "legend" : { + "enabled" : "false" + }, + "xAxis" : { + "type" : "category" } } diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json index ffb3d0dd21..a0d2ed98b6 100644 --- a/stats/pwc-leaders.json +++ b/stats/pwc-leaders.json @@ -1,100 +1,88 @@ { - "tooltip" : { - "headerFormat" : "", - "followPointer" : "true", - "pointFormat" : "{point.name}: {point.y:f}
" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, "legend" : { "enabled" : "false" }, - "subtitle" : { - "text" : "Click the columns to drilldown the score breakdown. Last updated at 2020-08-14 22:38:35 GMT" + "yAxis" : { + "title" : { + "text" : "Total Score" + } }, - "title" : { - "text" : "Perl Weekly Challenge Leaders (TOP 50)" + "xAxis" : { + "type" : "category" }, "series" : [ { - "name" : "Perl Weekly Challenge Leaders", "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Leaders", "data" : [ { - "name" : "#1: Laurent Rosenfeld", "y" : 824, + "name" : "#1: Laurent Rosenfeld", "drilldown" : "Laurent Rosenfeld" }, { + "name" : "#2: Jaldhar H. Vyas", "y" : 612, - "drilldown" : "Jaldhar H. Vyas", - "name" : "#2: Jaldhar H. Vyas" + "drilldown" : "Jaldhar H. Vyas" }, { - "name" : "#3: Roger Bell_West", "drilldown" : "Roger Bell_West", - "y" : 498 + "y" : 498, + "name" : "#3: Roger Bell_West" }, { "y" : 480, - "drilldown" : "Arne Sommer", - "name" : "#4: Arne Sommer" + "name" : "#4: Arne Sommer", + "drilldown" : "Arne Sommer" }, { + "name" : "#5: Ruben Westerberg", "y" : 452, - "drilldown" : "Ruben Westerberg", - "name" : "#5: Ruben Westerberg" + "drilldown" : "Ruben Westerberg" }, { "y" : 430, - "drilldown" : "Javier Luque", - "name" : "#6: Javier Luque" + "name" : "#6: Javier Luque", + "drilldown" : "Javier Luque" }, { + "y" : 380, "name" : "#7: E. Choroba", - "drilldown" : "E. Choroba", - "y" : 380 + "drilldown" : "E. Choroba" }, { - "name" : "#8: Athanasius", - "drilldown" : "Athanasius", - "y" : 352 + "drilldown" : "Colin Crain", + "name" : "#8: Colin Crain", + "y" : 360 }, { - "y" : 350, - "drilldown" : "Colin Crain", - "name" : "#9: Colin Crain" + "name" : "#9: Athanasius", + "y" : 352, + "drilldown" : "Athanasius" }, { + "y" : 336, "name" : "#10: Adam Russell", - "drilldown" : "Adam Russell", - "y" : 336 + "drilldown" : "Adam Russell" }, { -