From 6c86cd115365ce26f380c95b2a2bb2bf13d7f3d6 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 5 Oct 2020 00:45:28 +0100 Subject: - Added solutions by Colin Crain. --- challenge-080/colin-crain/perl/ch-1.pl | 46 +++ challenge-080/colin-crain/perl/ch-2.pl | 158 ++++++++ challenge-080/colin-crain/raku/ch-1.raku | 37 ++ challenge-080/colin-crain/raku/ch-2.raku | 91 +++++ stats/pwc-current.json | 620 +++++++++++++++--------------- stats/pwc-language-breakdown-summary.json | 56 +-- stats/pwc-language-breakdown.json | 580 ++++++++++++++-------------- stats/pwc-leaders.json | 382 +++++++++--------- stats/pwc-summary-1-30.json | 52 +-- stats/pwc-summary-121-150.json | 96 ++--- stats/pwc-summary-151-180.json | 34 +- stats/pwc-summary-181-210.json | 54 +-- stats/pwc-summary-31-60.json | 102 ++--- stats/pwc-summary-61-90.json | 38 +- stats/pwc-summary-91-120.json | 42 +- stats/pwc-summary.json | 58 +-- 16 files changed, 1393 insertions(+), 1053 deletions(-) create mode 100644 challenge-080/colin-crain/perl/ch-1.pl create mode 100644 challenge-080/colin-crain/perl/ch-2.pl create mode 100644 challenge-080/colin-crain/raku/ch-1.raku create mode 100644 challenge-080/colin-crain/raku/ch-2.raku diff --git a/challenge-080/colin-crain/perl/ch-1.pl b/challenge-080/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..71838d77ac --- /dev/null +++ b/challenge-080/colin-crain/perl/ch-1.pl @@ -0,0 +1,46 @@ +#! /opt/local/bin/perl +# +# tiny_numbers_on_the_hillside.pl +# +# TASK #1 › Smallest Positive Number Bits +# Submitted by: Mohammad S Anwar +# You are given unsorted list of integers @N. +# +# Write a script to find out the smallest positive number missing. +# +# Example 1: +# Input: @N = (5, 2, -2, 0) +# Output: 1 +# Example 2: +# Input: @N = (1, 8, -1) +# Output: 2 +# Example 3: +# Input: @N = (2, 0, -1) +# Output: 1 +# +# method: +# Map the array into a hash. Start counting up from 1, checking +# existence. Hashes are fast lookups. Even if all N from 1 to the +# last is contained in the set, eventually the array will be +# exhausted and the next natural number will be output. +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + +my @input = @ARGV ? @ARGV : (5, 2, -2, 0, 16, 1, 6, 3, -18, 1, 0, 4); +say "input : (", (join ', ', @input), ")"; + +my %lookup = map { $_ => 1 } @input; +my $num; + +while ( ++$num ) { ## @input is finite so this will end eventually + say "output: $num" and exit if ! exists $lookup{$num}; +} diff --git a/challenge-080/colin-crain/perl/ch-2.pl b/challenge-080/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..a08a5da1dd --- /dev/null +++ b/challenge-080/colin-crain/perl/ch-2.pl @@ -0,0 +1,158 @@ +#! /opt/local/bin/perl +# +# dinner_for_dictators.pl + +# visual aid: https://en.wikipedia.org/wiki/File:Dinner_of_the_Dictators_wiki.jpg +# +# TASK #2 › Count Candies +# Submitted by: Mohammad S Anwar +# You are given rankings of $N candidates. +# +# Write a script to find out the total candies needed for all +# candidates. You are asked to follow the rules below: +# +# a) You must given at least one candy to each candidate. +# b) Candidate with higher ranking get more candies than their mmediate neighbors on either side. + +# Example 1: +# Input: $N = (1, 2, 2) +# Explanation: +# Applying rule #a, each candidate will get one candy. So total candies +# needed so far 3. Now applying rule #b, the first candidate do not get +# any more candy as its rank is lower than it's neighbours. The second +# candidate gets one more candy as it's ranking is higher than it's +# neighbour. Finally the third candidate do not get any extra candy as +# it's ranking is not higher than neighbour. Therefore total candies +# required is 4. +# +# Output: 4 + +# Example 2: +# Input: $N = (1, 4, 3, 2) +# Explanation: +# Applying rule #a, each candidate will get one candy. So total candies +# needed so far 4. Now applying rule #b, the first candidate do not get +# any more candy as its rank is lower than it's neighbours. The second +# candidate gets two more candy as it's ranking is higher than it's both +# neighbour. The third candidate gets one more candy as it's ranking is +# higher than it's neighbour. Finally the fourth candidate do not get +# any extra candy as it's ranking is not higher than neighbour. +# Therefore total candies required is 7. +# +# Output: 7 +# +# ---------------------------------------------------------------------------- + +# rephrasing for dramatic effect: +# "You are tasked with providing candied treats for a dinner, at the +# place settings along a long table on a dais facing a large hall. +# The diners are to be a gathering of dictators and very powerful +# men, seated in a line facing the room. Because they are by nature +# petulant and insecure, each man requires an offering of candy as a +# token of respect, in an amount that he deems worthy of his +# position amongst his peers. Every man of higher stature than his +# neighbors to either side must always have more candies than them, +# lest he be percieved as weak. There are no exceptions, and failure +# to properly dispense the correct amounts will result in +# imprisonment at best. For obscure reasons of protocol and +# diplomacy, there is no apparent ordering to the table seating, so +# you must rely on ratings asigned to the individual seat positions +# to know how to fill the candy bowls. As the government hosting the +# feast has only been able to procure a limited amount of candies +# for you to distribute, you will have no choice but to dispense the +# minumum number possible to fulfill your obligations, hoping you +# will have enough to supply the whole table. May the odds be +# forever in your favor." + +# method: +# It took me a while to figure out what was realy being asked here. +# I spent some time constructing an additive method, making multiple +# passes across the data and augmenting values for each setting as +# required until no more adjustment was necessary, but found the +# result lacking; it seemed to work but was somehow missing the +# point. But it got me looking at the relationship between the +# solutions and the source arrays. +# +# Then it occured to me that what we were doing was minimizing the +# data, while maintaining the relative relationships between +# adjacent elememts. Those larger than their neighbor will remain +# greater, those less, less. But the whole list will have those +# differences minimized and pushed as far as possible towards 1, the +# base value. +# +# It's somewhat akin to normalizing and compressing a signal, but +# not quite. Here both the compression and rezeroing are extremely +# local events, making the adjustments discontinuous. For instance, +# any element less than both its neighbors will be reduced all the +# way to 1, reestablishing the lower boundary again. +# +# Taking this to mind, the process is very simple: starting with the +# original array, the value of each element is reduced according to +# the rule that if it is larger than its neighbors, the new value is +# one more than the larger neighbor's output, and if smaller than +# both, then 1. +# +# The part that makes this work, though, is the order of selection. +# By moving the smallest elements first, the baseline positions are +# established, then the elements that need to be one more than this +# are placed, then one more than that. To do this we will need a +# list of the indexes of the original array, resorted according to +# the array values, lowest to highest. Working through this, in the +# end every element will only need to be valued once in the output +# array. +# + + + +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + + +my @input = scalar @ARGV ? @ARGV + : (1, 9, 5, 2, 6, 8, 9, 10, 2, 5, 1); + +my @output; + +normalize(\@input, \@output); + +say "input: @input"; +say "output: @output"; + +## ## ## ## ## SUBS: + +sub normalize { +## starting from the smallest value, if the given index value is +## larger than either of its neighbors, then it is +## revalued in the output to be the larger of its neighbors' output plus one. If it is +## smaller than both it is 1. + my ($in, $out) = @_; + + my @order = sort { $in->[$a] <=> $in->[$b] } keys $in->@*; + for my $i (@order) { + my $min = 1; + for (1,-1) { + next if ( $i + $_ < 0 or not defined $in->[$i+$_]) ; + if ($in->[$i] > $in->[$i+$_]) { + $min = max($out->[$i+$_] + 1, $min); + } + } + $out->[$i] = $min; + } +} + +sub max { + my $max = "-inf"; + for (@_) { + $max = $_ if $max < $_; + } + return $max; +} \ No newline at end of file diff --git a/challenge-080/colin-crain/raku/ch-1.raku b/challenge-080/colin-crain/raku/ch-1.raku new file mode 100644 index 0000000000..99259bbd35 --- /dev/null +++ b/challenge-080/colin-crain/raku/ch-1.raku @@ -0,0 +1,37 @@ +#!/usr/bin/env raku +# +# +# tiny_numbers_on_the_hillside.raku +# +# TASK #1 › Smallest Positive Number Bits +# Submitted by: Mohammad S Anwar +# You are given unsorted list of integers @N. +# +# Write a script to find out the smallest positive number missing. +# +# Example 1: +# Input: @N = (5, 2, -2, 0) +# Output: 1 +# Example 2: +# Input: @N = (1, 8, -1) +# Output: 2 +# Example 3: +# Input: @N = (2, 0, -1) +# Output: 1 +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN (*@input) ; +@input.elems == 0 and @input = 5, 2, -2, 0, 16, 1, 6, 3, -18, 1, 0, 4; +my %lookup = @input.Bag; + +say "input : ", @input; +%lookup{$_}:exists or say "output: $_" and exit for (1..*); + + + diff --git a/challenge-080/colin-crain/raku/ch-2.raku b/challenge-080/colin-crain/raku/ch-2.raku new file mode 100644 index 0000000000..a4f14214db --- /dev/null +++ b/challenge-080/colin-crain/raku/ch-2.raku @@ -0,0 +1,91 @@ +#!/usr/bin/env raku +# +# +# dinner-for-dictators.raku +# +# visual aid: https://en.wikipedia.org/wiki/File:Dinner_of_the_Dictators_wiki.jpg +# +# TASK #2 › Count Candies +# Submitted by: Mohammad S Anwar +# You are given rankings of $N candidates. +# +# Write a script to find out the total candies needed for all +# candidates. You are asked to follow the rules below: +# +# a) You must given at least one candy to each candidate. +# b) Candidate with higher ranking get more candies than their mmediate neighbors on either side. + +# Example: +# Input: $N = (1, 4, 3, 2) +# Explanation: +# Applying rule #a, each candidate will get one candy. So total candies +# needed so far 4. Now applying rule #b, the first candidate do not get +# any more candy as its rank is lower than it's neighbours. The second +# candidate gets two more candy as it's ranking is higher than it's both +# neighbour. The third candidate gets one more candy as it's ranking is +# higher than it's neighbour. Finally the fourth candidate do not get +# any extra candy as it's ranking is not higher than neighbour. +# Therefore total candies required is 7. +# +# Output: 7 +# +# ---------------------------------------------------------------------------- + +# rephrasing for dramatic effect: +# +# "You are tasked with providing candied treats for a dinner, at the +# place settings along a long table on a dais facing a large hall. +# The diners are to be a gathering of dictators and very powerful +# men, seated in a line facing the room. Because they are by nature +# petulant and insecure, each man requires an offering of candy as a +# token of respect, in an amount that he deems worthy of his +# position amongst his peers. Every man of higher stature than his +# neighbors to either side must always have more candies than them, +# lest he be perceived as weak. There are no exceptions, and failure +# to properly dispense the correct amounts will result in +# imprisonment at best. For obscure reasons of protocol and +# diplomacy, there is no apparent ordering to the table seating, so +# you must rely on ratings asigned to the individual seat positions +# to know how to fill the candy bowls. As the government hosting the +# feast has only been able to procure a limited amount of candies +# for you to distribute, you will have no choice but to dispense the +# minumum number possible to fulfill your obligations, hoping you +# will have enough to supply the whole table. And may the odds be +# ever in your favor." +# +# Note: added smallest values criteria to task +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN (*@input) ; +@input.elems == 0 and @input = 1, 100, 5, 2, 6, 8, 9, 10, 2, 5, 1; +my @output; + +normalize(@input, @output); + +say "input: ", @input; +say "output: ", @output; + +sub normalize (@input, @output) { +## starting from the smallest value, if the given index value is larger than +## either of its neighbors, then it is valued in the output to be the larger of +## its (smaller) neighbors' output plus one. If it is smaller than both it is 1. + + my @order = @input.keys.sort:{ @input[$_] } ; ## order idx by value +say @order; + for @order -> $i { + my $min = 1; + for 1, -1 -> $Δ { + given $i + $Δ { + next unless $_ ~~ any @input.keys; ## ignore out of bounds + if @input[$i] > @input[$_] { + $min = (@output[$_] + 1, $min).max; ## just above max of smaller values + } + } + } + @output[$i] = $min; + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 38d837a6d4..9dc58aff15 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,247 +1,15 @@ { - "series" : [ - { - "data" : [ - { - "drilldown" : "Abigail", - "name" : "Abigail", - "y" : 2 - }, - { - "drilldown" : "Adam Russell", - "y" : 3, - "name" : "Adam Russell" - }, - { - "y" : 2, - "name" : "Alexander Pankoff", - "drilldown" : "Alexander Pankoff" - }, - { - "name" : "Andinus", - "y" : 4, - "drilldown" : "Andinus" - }, - { - "y" : 2, - "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" - }, - { - "name" : "Anton Fedotov", - "y" : 1, - "drilldown" : "Anton Fedotov" - }, - { - "y" : 5, - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer" - }, - { - "drilldown" : "Athanasius", - "y" : 4, - "name" : "Athanasius" - }, - { - "drilldown" : "Bob Lied", - "y" : 2, - "name" : "Bob Lied" - }, - { - "y" : 2, - "name" : "Cheok-Yin Fung", - "drilldown" : "Cheok-Yin Fung" - }, - { - "drilldown" : "Colin Crain", - "y" : 1, - "name" : "Colin Crain" - }, - { - "y" : 2, - "name" : "Cristina Heredia", - "drilldown" : "Cristina Heredia" - }, - { - "name" : "Dave Cross", - "y" : 2, - "drilldown" : "Dave Cross" - }, - { - "drilldown" : "Dave Jacoby", - "y" : 3, - "name" : "Dave Jacoby" - }, - { - "y" : 2, - "name" : "Duncan C. White", - "drilldown" : "Duncan C. White" - }, - { - "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 - }, - { - "y" : 4, - "name" : "Flavio Poletti", - "drilldown" : "Flavio Poletti" - }, - { - "drilldown" : "James Smith", - "name" : "James Smith", - "y" : 2 - }, - { - "drilldown" : "Jan Krnavek", - "y" : 2, - "name" : "Jan Krnavek" - }, - { - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey", - "y" : 2 - }, - { - "y" : 4, - "name" : "Julio de Castro", - "drilldown" : "Julio de Castro" - }, - { - "y" : 4, - "name" : "Kang-min Liu", - "drilldown" : "Kang-min Liu" - }, - { - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", - "y" : 5 - }, - { - "drilldown" : "Lubos Kolouch", - "y" : 2, - "name" : "Lubos Kolouch" - }, - { - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson", - "y" : 2 - }, - { - "y" : 2, - "name" : "Markus Holzer", - "drilldown" : "Markus Holzer" - }, - { - "name" : "Mohammad S Anwar", - "y" : 5, - "drilldown" : "Mohammad S Anwar" - }, - { - "drilldown" : "Myoungjin Jeon", - "y" : 6, - "name" : "Myoungjin Jeon" - }, - { - "drilldown" : "Niels van Dijke", - "name" : "Niels van Dijke", - "y" : 2 - }, - { - "drilldown" : "Nuno Vieira", - "y" : 2, - "name" : "Nuno Vieira" - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 5 - }, - { - "drilldown" : "Shawn Wagner", - "name" : "Shawn Wagner", - "y" : 2 - }, - { - "drilldown" : "Simon Green", - "y" : 3, - "name" : "Simon Green" - }, - { - "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" - }, - { - "name" : "Steven Wilson", - "y" : 2, - "drilldown" : "Steven Wilson" - }, - { - "name" : "Ted Leahy", - "y" : 2, - "drilldown" : "Ted Leahy" - }, - { - "drilldown" : "Ulrich Rieke", - "y" : 4, - "name" : "Ulrich Rieke" - }, - { - "name" : "Vinod Kumar K", - "y" : 2, - "drilldown" : "Vinod Kumar K" - }, - { - "drilldown" : "Walt Mankowski", - "y" : 3, - "name" : "Walt Mankowski" - }, - { - "y" : 2, - "name" : "Wanderdoc", - "drilldown" : "Wanderdoc" - } - ], - "name" : "Perl Weekly Challenge - 080", - "colorByPoint" : 1 - } - ], - "subtitle" : { - "text" : "[Champions: 40] Last updated at 2020-10-04 22:39:13 GMT" - }, - "legend" : { - "enabled" : 0 - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "Perl Weekly Challenge - 080" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, "drilldown" : { "series" : [ { - "name" : "Abigail", "id" : "Abigail", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Abigail" }, { "data" : [ @@ -254,21 +22,21 @@ 1 ] ], - "id" : "Adam Russell", - "name" : "Adam Russell" + "name" : "Adam Russell", + "id" : "Adam Russell" }, { + "id" : "Alexander Pankoff", + "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ], - "id" : "Alexander Pankoff", - "name" : "Alexander Pankoff" + ] }, { - "name" : "Andinus", + "id" : "Andinus", "data" : [ [ "Perl", @@ -279,30 +47,30 @@ 2 ] ], - "id" : "Andinus" + "name" : "Andinus" }, { + "name" : "Andrew Shitov", "data" : [ [ "Raku", 2 ] ], - "id" : "Andrew Shitov", - "name" : "Andrew Shitov" + "id" : "Andrew Shitov" }, { + "id" : "Anton Fedotov", "name" : "Anton Fedotov", "data" : [ [ "Perl", 1 ] - ], - "id" : "Anton Fedotov" + ] }, { - "name" : "Arne Sommer", + "id" : "Arne Sommer", "data" : [ [ "Perl", @@ -317,9 +85,10 @@ 1 ] ], - "id" : "Arne Sommer" + "name" : "Arne Sommer" }, { + "id" : "Athanasius", "name" : "Athanasius", "data" : [ [ @@ -330,22 +99,21 @@ "Raku", 2 ] - ], - "id" : "Athanasius" + ] }, { - "name" : "Bob Lied", "id" : "Bob Lied", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Bob Lied" }, { - "name" : "Cheok-Yin Fung", "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -354,37 +122,46 @@ ] }, { - "name" : "Colin Crain", "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], [ "Blog", 1 ] ], + "name" : "Colin Crain", "id" : "Colin Crain" }, { - "name" : "Cristina Heredia", "id" : "Cristina Heredia", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Cristina Heredia" }, { - "name" : "Dave Cross", "data" : [ [ "Perl", 2 ] ], + "name" : "Dave Cross", "id" : "Dave Cross" }, { "id" : "Dave Jacoby", + "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -394,22 +171,21 @@ "Blog", 1 ] - ], - "name" : "Dave Jacoby" + ] }, { + "name" : "Duncan C. White", "data" : [ [ "Perl", 2 ] ], - "id" : "Duncan C. White", - "name" : "Duncan C. White" + "id" : "Duncan C. White" }, { - "name" : "E. Choroba", "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", @@ -419,7 +195,6 @@ }, { "name" : "Flavio Poletti", - "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -429,27 +204,28 @@ "Blog", 2 ] - ] + ], + "id" : "Flavio Poletti" }, { + "id" : "James Smith", + "name" : "James Smith", "data" : [ [ "Perl", 2 ] - ], - "id" : "James Smith", - "name" : "James Smith" + ] }, { - "id" : "Jan Krnavek", + "name" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] ], - "name" : "Jan Krnavek" + "id" : "Jan Krnavek" }, { "id" : "Jorg Sommrey", @@ -463,6 +239,7 @@ }, { "id" : "Julio de Castro", + "name" : "Julio de Castro", "data" : [ [ "Perl", @@ -472,11 +249,9 @@ "Raku", 2 ] - ], - "name" : "Julio de Castro" + ] }, { - "name" : "Kang-min Liu", "data" : [ [ "Perl", @@ -487,10 +262,10 @@ 2 ] ], + "name" : "Kang-min Liu", "id" : "Kang-min Liu" }, { - "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -505,16 +280,17 @@ 1 ] ], - "name" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" }, { + "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] ], - "id" : "Lubos Kolouch", "name" : "Lubos Kolouch" }, { @@ -524,21 +300,20 @@ 2 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { - "name" : "Markus Holzer", + "id" : "Markus Holzer", "data" : [ [ "Raku", 2 ] ], - "id" : "Markus Holzer" + "name" : "Markus Holzer" }, { - "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -553,10 +328,10 @@ 1 ] ], + "name" : "Mohammad S Anwar", "id" : "Mohammad S Anwar" }, { - "name" : "Myoungjin Jeon", "data" : [ [ "Perl", @@ -571,30 +346,30 @@ 2 ] ], + "name" : "Myoungjin Jeon", "id" : "Myoungjin Jeon" }, { - "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke" + "id" : "Niels van Dijke" }, { + "id" : "Nuno Vieira", "name" : "Nuno Vieira", "data" : [ [ "Perl", 2 ] - ], - "id" : "Nuno Vieira" + ] }, { - "name" : "Roger Bell_West", "id" : "Roger Bell_West", "data" : [ [ @@ -609,11 +384,12 @@ "Blog", 1 ] - ] + ], + "name" : "Roger Bell_West" }, { - "name" : "Shawn Wagner", "id" : "Shawn Wagner", + "name" : "Shawn Wagner", "data" : [ [ "Perl", @@ -622,6 +398,8 @@ ] }, { + "id" : "Simon Green", + "name" : "Simon Green", "data" : [ [ "Perl", @@ -631,9 +409,7 @@ "Blog", 1 ] - ], - "id" : "Simon Green", - "name" : "Simon Green" + ] }, { "data" : [ @@ -642,31 +418,31 @@ 2 ] ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + "name" : "Simon Proctor", + "id" : "Simon Proctor" }, { + "name" : "Steven Wilson", "data" : [ [ "Perl", 2 ] ], - "id" : "Steven Wilson", - "name" : "Steven Wilson" + "id" : "Steven Wilson" }, { "name" : "Ted Leahy", - "id" : "Ted Leahy", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Ted Leahy" }, { - "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -677,21 +453,21 @@ 2 ] ], - "id" : "Ulrich Rieke" + "name" : "Ulrich Rieke" }, { + "name" : "Vinod Kumar K", "data" : [ [ "Perl", 2 ] ], - "id" : "Vinod Kumar K", - "name" : "Vinod Kumar K" + "id" : "Vinod Kumar K" }, { - "name" : "Walt Mankowski", "id" : "Walt Mankowski", + "name" : "Walt Mankowski", "data" : [ [ "Perl", @@ -704,25 +480,257 @@ ] }, { - "name" : "Wanderdoc", "data" : [ [ "Perl", 2 ] ], + "name" : "Wanderdoc", "id" : "Wanderdoc" } ] }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "chart" : { + "type" : "column" + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
" + "series" : [ + { + "data" : [ + { + "name" : "Abigail", + "drilldown" : "Abigail", + "y" : 2 + }, + { + "name" : "Adam Russell", + "y" : 3, + "drilldown" : "Adam Russell" + }, + { + "name" : "Alexander Pankoff", + "y" : 2, + "drilldown" : "Alexander Pankoff" + }, + { + "y" : 4, + "drilldown" : "Andinus", + "name" : "Andinus" + }, + { + "name" : "Andrew Shitov", + "drilldown" : "Andrew Shitov", + "y" : 2 + }, + { + "y" : 1, + "drilldown" : "Anton Fedotov", + "name" : "Anton Fedotov" + }, + { + "name" : "Arne Sommer", + "y" : 5, + "drilldown" : "Arne Sommer" + }, + { + "name" : "Athanasius", + "y" : 4, + "drilldown" : "Athanasius" + }, + { + "name" : "Bob Lied", + "drilldown" : "Bob Lied", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" + }, + { + "drilldown" : "Colin Crain", + "y" : 5, + "name" : "Colin Crain" + }, + { + "name" : "Cristina Heredia", + "drilldown" : "Cristina Heredia", + "y" : 2 + }, + { + "name" : "Dave Cross", + "y" : 2, + "drilldown" : "Dave Cross" + }, + { + "drilldown" : "Dave Jacoby", + "y" : 3, + "name" : "Dave Jacoby" + }, + { + "name" : "Duncan C. White", + "y" : 2, + "drilldown" : "Duncan C. White" + }, + { + "name" : "E. Choroba", + "y" : 2, + "drilldown" : "E. Choroba" + }, + { + "name" : "Flavio Poletti", + "y" : 4, + "drilldown" : "Flavio Poletti" + }, + { + "name" : "James Smith", + "drilldown" : "James Smith", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek" + }, + { + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey", + "y" : 2 + }, + { + "y" : 4, + "drilldown" : "Julio de Castro", + "name" : "Julio de Castro" + }, + { + "name" : "Kang-min Liu", + "y" : 4, + "drilldown" : "Kang-min Liu" + }, + { + "drilldown" : "Laurent Rosenfeld", + "y" : 5, + "name" : "Laurent Rosenfeld" + }, + { + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch", + "y" : 2 + }, + { + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 2 + }, + { + "name" : "Markus Holzer", + "y" : 2, + "drilldown" : "Markus Holzer" + }, + { + "y" : 5, + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" + }, + { + "name" : "Myoungjin Jeon", + "y" : 6, + "drilldown" : "Myoungjin Jeon" + }, + { + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Nuno Vieira", + "name" : "Nuno Vieira" + }, + { + "y" : 5, + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "name" : "Shawn Wagner", + "y" : 2, + "drilldown" : "Shawn Wagner" + }, + { + "name" : "Simon Green", + "y" : 3, + "drilldown" : "Simon Green" + }, + { + "name" : "Simon Proctor", + "y" : 2, + "drilldown" : "Simon Proctor" + }, + { + "drilldown" : "Steven Wilson", + "y" : 2, + "name" : "Steven Wilson" + }, + { + "drilldown" : "Ted Leahy", + "y" : 2, + "name" : "Ted Leahy" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "y" : 2, + "drilldown" : "Vinod Kumar K", + "name" : "Vinod Kumar K" + }, + { + "y" : 3, + "drilldown" : "Walt Mankowski", + "name" : "Walt Mankowski" + }, + { + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc", + "y" : 2 + } + ], + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 080" + } + ], + "title" : { + "text" : "Perl Weekly Challenge - 080" + }, + "subtitle" : { + "text" : "[Champions: 40] Last updated at 2020-10-04 23:45:02 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index fe1e120607..a04b3ede57 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,4 +1,7 @@ { + "legend" : { + "enabled" : "false" + }, "xAxis" : { "type" : "category", "labels" : { @@ -8,24 +11,12 @@ } } }, - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Last updated at 2020-10-04 23:45:02 GMT" }, "title" : { "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "subtitle" : { - "text" : "Last updated at 2020-10-04 22:39:13 GMT" - }, "series" : [ { "data" : [ @@ -35,29 +26,38 @@ ], [ "Perl", - 3455 + 3457 ], [ "Raku", - 2218 + 2220 ] ], + "name" : "Contributions", "dataLabels" : { - "y" : 10, - "enabled" : "true", - "rotation" : -90, - "format" : "{point.y:.0f}", + "align" : "right", + "color" : "#FFFFFF", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" }, - "align" : "right", - "color" : "#FFFFFF" - }, - "name" : "Contributions" + "format" : "{point.y:.0f}", + "enabled" : "true", + "rotation" : -90, + "y" : 10 + } } ], - "legend" : { - "enabled" : "false" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index e2fff73422..a315910c2c 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -3,7 +3,13 @@ "enabled" : "false" }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-10-04 22:39:13 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-10-04 23:45:02 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "Perl Weekly Challenge Language" }, "series" : [ { @@ -14,9 +20,9 @@ "drilldown" : "001" }, { + "name" : "#002", "drilldown" : "002", - "y" : 113, - "name" : "#002" + "y" : 113 }, { "name" : "#003", @@ -24,44 +30,44 @@ "drilldown" : "003" }, { + "name" : "#004", "drilldown" : "004", - "y" : 91, - "name" : "#004" + "y" : 91 }, { - "name" : "#005", + "drilldown" : "005", "y" : 72, - "drilldown" : "005" + "name" : "#005" }, { - "name" : "#006", + "drilldown" : "006", "y" : 52, - "drilldown" : "006" + "name" : "#006" }, { - "drilldown" : "007", "y" : 59, + "drilldown" : "007", "name" : "#007" }, { "y" : 72, - "name" : "#008", - "drilldown" : "008" + "drilldown" : "008", + "name" : "#008" }, { - "drilldown" : "009", + "name" : "#009", "y" : 70, - "name" : "#009" + "drilldown" : "009" }, { - "y" : 60, "name" : "#010", + "y" : 60, "drilldown" : "010" }, { "drilldown" : "011", - "name" : "#011", - "y" : 79 + "y" : 79, + "name" : "#011" }, { "drilldown" : "012", @@ -69,34 +75,34 @@ "name" : "#012" }, { - "y" : 78, "name" : "#013", + "y" : 78, "drilldown" : "013" }, { - "drilldown" : "014", "name" : "#014", - "y" : 96 + "y" : 96, + "drilldown" : "014" }, { - "drilldown" : "015", "y" : 93, + "drilldown" : "015", "name" : "#015" }, { + "y" : 66, "drilldown" : "016", - "name" : "#016", - "y" : 66 + "name" : "#016" }, { - "y" : 79, "name" : "#017", - "drilldown" : "017" + "drilldown" : "017", + "y" : 79 }, { - "drilldown" : "018", "name" : "#018", - "y" : 76 + "y" : 76, + "drilldown" : "018" }, { "name" : "#019", @@ -105,13 +111,13 @@ }, { "name" : "#020", - "y" : 95, - "drilldown" : "020" + "drilldown" : "020", + "y" : 95 }, { "y" : 67, - "name" : "#021", - "drilldown" : "021" + "drilldown" : "021", + "name" : "#021" }, { "name" : "#022", @@ -119,73 +125,73 @@ "drilldown" : "022" }, { - "name" : "#023", "y" : 91, - "drilldown" : "023" + "drilldown" : "023", + "name" : "#023" }, { - "drilldown" : "024", + "name" : "#024", "y" : 70, - "name" : "#024" + "drilldown" : "024" }, { - "drilldown" : "025", "name" : "#025", - "y" : 55 + "y" : 55, + "drilldown" : "025" }, { "drilldown" : "026", - "name" : "#026", - "y" : 70 + "y" : 70, + "name" : "#026" }, { - "drilldown" : "027", "name" : "#027", + "drilldown" : "027", "y" : 58 }, { - "drilldown" : "028", "y" : 78, + "drilldown" : "028", "name" : "#028" }, { "drilldown" : "029", - "name" : "#029", - "y" : 77 + "y" : 77, + "name" : "#029" }, { "y" : 115, - "name" : "#030", - "drilldown" : "030" + "drilldown" : "030", + "name" : "#030" }, { - "y" : 87, "name" : "#031", - "drilldown" : "031" + "drilldown" : "031", + "y" : 87 }, { "y" : 92, - "name" : "#032", - "drilldown" : "032" + "drilldown" : "032", + "name" : "#032" }, { - "y" : 108, "name" : "#033", + "y" : 108, "drilldown" : "033" }, { + "y" : 62, "drilldown" : "034", - "name" : "#034", - "y" : 62 + "name" : "#034" }, { - "drilldown" : "035", "y" : 62, + "drilldown" : "035", "name" : "#035" }, { - "y" : 66, "name" : "#036", + "y" : 66, "drilldown" : "036" }, { @@ -194,9 +200,9 @@ "drilldown" : "037" }, { - "drilldown" : "038", "name" : "#038", - "y" : 65 + "y" : 65, + "drilldown" : "038" }, { "name" : "#039", @@ -204,13 +210,13 @@ "drilldown" : "039" }, { - "y" : 71, "name" : "#040", - "drilldown" : "040" + "drilldown" : "040", + "y" : 71 }, { - "drilldown" : "041", "name" : "#041", + "drilldown" : "041", "y" : 74 }, { @@ -220,23 +226,23 @@ }, { "y" : 66, - "name" : "#043", - "drilldown" : "043" + "drilldown" : "043", + "name" : "#043" }, { - "drilldown" : "044", + "name" : "#044", "y" : 82, - "name" : "#044" + "drilldown" : "044" }, { + "name" : "#045", "drilldown" : "045", - "y" : 94, - "name" : "#045" + "y" : 94 }, { "drilldown" : "046", - "name" : "#046", - "y" : 85 + "y" : 85, + "name" : "#046" }, { "drilldown" : "047", @@ -244,29 +250,29 @@ "name" : "#047" }, { + "name" : "#048", "drilldown" : "048", - "y" : 106, - "name" : "#048" + "y" : 106 }, { - "drilldown" : "049", "name" : "#049", - "y" : 85 + "y" : 85, + "drilldown" : "049" }, { - "drilldown" : "050", + "name" : "#050", "y" : 96, - "name" : "#050" + "drilldown" : "050" }, { + "drilldown" : "051", "y" : 87, - "name" : "#051", - "drilldown" : "051" + "name" : "#051" }, { - "drilldown" : "052", + "name" : "#052", "y" : 89, - "name" : "#052" + "drilldown" : "052" }, { "drilldown" : "053", @@ -274,44 +280,44 @@ "name" : "#053" }, { - "name" : "#054", + "drilldown" : "054", "y" : 101, - "drilldown" : "054" + "name" : "#054" }, { "name" : "#055", - "y" : 86, - "drilldown" : "055" + "drilldown" : "055", + "y" : 86 }, { + "name" : "#056", "drilldown" : "056", - "y" : 93, - "name" : "#056" + "y" : 93 }, { - "y" : 78, "name" : "#057", + "y" : 78, "drilldown" : "057" }, { + "name" : "#058", "drilldown" : "058", - "y" : 67, - "name" : "#058" + "y" : 67 }, { - "drilldown" : "059", "name" : "#059", + "drilldown" : "059", "y" : 87 }, { - "name" : "#060", "y" : 83, - "drilldown" : "060" + "drilldown" : "060", + "name" : "#060" }, { "drilldown" : "061", - "name" : "#061", - "y" : 79 + "y" : 79, + "name" : "#061" }, { "drilldown" : "062", @@ -320,28 +326,28 @@ }, { "drilldown" : "063", - "name" : "#063", - "y" : 87 + "y" : 87, + "name" : "#063" }, { - "y" : 78, "name" : "#064", - "drilldown" : "064" + "drilldown" : "064", + "y" : 78 }, { - "drilldown" : "065", + "name" : "#065", "y" : 71, - "name" : "#065" + "drilldown" : "065" }, { + "name" : "#066", "drilldown" : "066", - "y" : 82, - "name" : "#066" + "y" : 82 }, { - "drilldown" : "067", + "name" : "#067", "y" : 88, - "name" : "#067" + "drilldown" : "067" }, { "drilldown" : "068", @@ -349,9 +355,9 @@ "name" : "#068" }, { - "drilldown" : "069", + "name" : "#069", "y" : 81, - "name" : "#069" + "drilldown" : "069" }, { "name" : "#070", @@ -359,64 +365,67 @@ "drilldown" : "070" }, { - "drilldown" : "071", + "name" : "#071", "y" : 76, - "name" : "#071" + "drilldown" : "071" }, { + "name" : "#072", "drilldown" : "072", - "y" : 110, - "name" : "#072" + "y" : 110 }, { - "y" : 108, "name" : "#073", + "y" : 108, "drilldown" : "073" }, { - "y" : 113, "name" : "#074", + "y" : 113, "drilldown" : "074" }, { - "y" : 111, "name" : "#075", + "y" : 111, "drilldown" : "075" }, { - "drilldown" : "076", "name" : "#076", + "drilldown" : "076", "y" : 91 }, { - "y" : 94, "name" : "#077", - "drilldown" : "077" + "drilldown" : "077", + "y" : 94 }, { - "name" : "#078", + "drilldown" : "078", "y" : 121, - "drilldown" : "078" + "name" : "#078" }, { - "name" : "#079", + "drilldown" : "079", "y" : 114, - "drilldown" : "079" + "name" : "#079" }, { - "y" : 110, - "name" : "#080", - "drilldown" : "080" + "y" : 114, + "drilldown" : "080", + "name" : "#080" } ], - "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true" + "colorByPoint" : "true", + "name" : "Perl Weekly Challenge Languages" } ], - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "", - "followPointer" : "true" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "chart" : { + "type" : "column" }, "plotOptions" : { "series" : { @@ -427,9 +436,15 @@ } } }, + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "", + "pointFormat" : "Challenge {point.name}: {point.y:f}
" + }, "drilldown" : { "series" : [ { + "id" : "001", "data" : [ [ "Perl", @@ -444,7 +459,6 @@ 11 ] ], - "id" : "001", "name" : "001" }, { @@ -462,10 +476,11 @@ 10 ] ], - "id" : "002", - "name" : "002" + "name" : "002", + "id" : "002" }, { + "id" : "003", "data" : [ [ "Perl", @@ -480,10 +495,10 @@ 9 ] ], - "id" : "003", "name" : "003" }, { + "id" : "004", "data" : [ [ "Perl", @@ -498,10 +513,10 @@ 10 ] ], - "id" : "004", "name" : "004" }, { + "id" : "005", "name" : "005", "data" : [ [ @@ -516,12 +531,9 @@ "Blog", 12 ] - ], - "id" : "005" + ] }, { - "name" : "006", - "id" : "006", "data" : [ [ "Perl", @@ -535,9 +547,12 @@ "Blog", 7 ] - ] + ], + "name" : "006", + "id" : "006" }, { + "id" : "007", "name" : "007", "data" : [ [ @@ -552,10 +567,10 @@ "Blog", 10 ] - ], - "id" : "007" + ] }, { + "id" : "008", "data" : [ [ "Perl", @@ -570,11 +585,9 @@ 12 ] ], - "id" : "008", "name" : "008" }, { - "name" : "009", "id" : "009", "data" : [ [ @@ -589,11 +602,12 @@ "Blog", 13 ] - ] + ], + "name" : "009" }, { - "name" : "010", "id" : "010", + "name" : "010", "data" : [ [ "Perl", @@ -610,6 +624,7 @@ ] }, { + "id" : "011", "data" : [ [ "Perl", @@ -624,10 +639,10 @@ 10 ] ], - "id" : "011", "name" : "011" }, { + "id" : "012", "name" : "012", "data" : [ [ @@ -642,11 +657,10 @@ "Blog", 11 ] - ], - "id" : "012" + ] }, { - "id" : "013", + "name" : "013", "data" : [ [ "Perl", @@ -661,7 +675,7 @@ 13 ] ], - "name" : "013" + "id" : "013" }, { "data" : [ @@ -678,8 +692,8 @@ 15 ] ], - "id" : "014", - "name" : "014" + "name" : "014", + "id" : "014" }, { "data" : [ @@ -696,10 +710,12 @@ 15 ] ], - "id" : "015", - "name" : "015" + "name" : "015", + "id" : "015" }, { + "id" : "016", + "name" : "016", "data" : [ [ "Perl", @@ -713,12 +729,10 @@ "Blog", 12 ] - ], - "id" : "016", - "name" : "016" + ] }, { - "id" : "017", + "name" : "017", "data" : [ [ "Perl", @@ -733,10 +747,9 @@ 12 ] ], - "name" : "017" + "id" : "017" }, { - "id" : "018", "data" : [ [ "Perl", @@ -751,11 +764,10 @@ 14 ] ], - "name" : "018" + "name" : "018", + "id" : "018" }, { - "name" : "019", - "id" : "019", "data" : [ [ "Perl", @@ -769,9 +781,12 @@ "Blog", 13 ] - ] + ], + "name" : "019", + "id" : "019" }, { + "id" : "020", "name" : "020", "data" : [ [ @@ -786,10 +801,11 @@ "Blog", 13 ] - ], - "id" : "020" + ] }, { + "id" : "021", + "name" : "021", "data" : [ [ "Perl", @@ -803,12 +819,9 @@ "Blog", 10 ] - ], - "id" : "021", - "name" : "021" + ] }, { - "name" : "022", "id" : "022", "data" : [ [ @@ -823,11 +836,10 @@ "Blog", 10 ] - ] + ], + "name" : "022" }, { - "name" : "023", - "id" : "023", "data" : [ [ "Perl", @@ -841,10 +853,12 @@ "Blog", 12 ] - ] + ], + "name" : "023", + "id" : "023" }, { - "id" : "024", + "name" : "024", "data" : [ [ "Perl", @@ -859,10 +873,10 @@ 11 ] ], - "name" : "024" + "id" : "024" }, { - "name" : "025", + "id" : "025", "data" : [ [ "Perl", @@ -877,7 +891,7 @@ 12 ] ], - "id" : "025" + "name" : "025" }, { "data" : [ @@ -894,10 +908,11 @@ 10 ] ], - "id" : "026", - "name" : "026" + "name" : "026", + "id" : "026" }, { + "id" : "027", "name" : "027", "data" : [ [ @@ -912,11 +927,9 @@ "Blog",