From 152af5a159cdbc09d7b40394dcfe0e2773a524ba Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 13 Feb 2022 23:36:58 +0000 Subject: - Added solutions by Colin Crain. --- challenge-151/colin-crain/perl/ch-1.pl | 118 ++++ challenge-151/colin-crain/perl/ch-2.pl | 118 ++++ challenge-151/colin-crain/raku/ch-1.raku | 77 +++ challenge-151/colin-crain/raku/ch-2.raku | 27 + stats/pwc-current.json | 404 ++++++------ stats/pwc-language-breakdown-summary.json | 56 +- stats/pwc-language-breakdown.json | 988 +++++++++++++++--------------- stats/pwc-leaders.json | 760 +++++++++++------------ stats/pwc-summary-1-30.json | 28 +- stats/pwc-summary-121-150.json | 112 ++-- stats/pwc-summary-151-180.json | 56 +- stats/pwc-summary-181-210.json | 108 ++-- stats/pwc-summary-211-240.json | 114 ++-- stats/pwc-summary-241-270.json | 80 +-- stats/pwc-summary-31-60.json | 102 +-- stats/pwc-summary-61-90.json | 104 ++-- stats/pwc-summary-91-120.json | 38 +- stats/pwc-summary.json | 46 +- 18 files changed, 1842 insertions(+), 1494 deletions(-) create mode 100755 challenge-151/colin-crain/perl/ch-1.pl create mode 100755 challenge-151/colin-crain/perl/ch-2.pl create mode 100755 challenge-151/colin-crain/raku/ch-1.raku create mode 100755 challenge-151/colin-crain/raku/ch-2.raku diff --git a/challenge-151/colin-crain/perl/ch-1.pl b/challenge-151/colin-crain/perl/ch-1.pl new file mode 100755 index 0000000000..51bff2479e --- /dev/null +++ b/challenge-151/colin-crain/perl/ch-1.pl @@ -0,0 +1,118 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# no-diving-in-the-shallow-end.pl +# +# Binary Tree Depth +# Submitted by: Mohammad S Anwar +# You are given binary tree. +# +# Write a script to find the minimum depth. +# +# The minimum depth is the number of nodes from the root to the +# nearest leaf node (node without any children). +# +# Example 1: +# +# Input: '1 | 2 3 | 4 5' +# +# 1 +# / \ +# 2 3 +# / \ +# 4 5 +# +# Output: 2 +# +# Example 2: +# +# Input: '1 | 2 3 | 4 * * 5 | * 6' +# +# 1 +# / \ +# 2 3 +# / \ +# 4 5 +# \ +# 6 +# Output: 3 +# +# method: +# +# So... the robust way or the easy way? Whichis to say do we +# build a tree model, perform a depth-first traversal and note +# the depth of each node, keeping a running minimal on all leaf +# nodes? Or do we work the serial flat data-structure instead? +# In the serial format we have a breath-first order laid out +# left-to-right +# +# +# One thing different about this tree challenge is that here +# wee are given example input in a breadth-first sreialized +# string format. In it, we have levels separated by vertical +# pipes, with nodes separated by spaces. Empty nodes are +# indicated by asterisks; in this way the segment from the +# second example "| 4 * * 5 |" reveals the thrid level has +# four nodes and the middle two are null. +# +# At the end of the string remaining null nodes to fill out the +# level are left inplicit and not signified. Although no +# examples exist, the child nodes of a null node would also be +# null and so indicated with asterisks, which are necessary to +# unambiguously mark individual node placement within the +# structure. +# +# All this amounts to a parsable flat format where the child +# nodes have a mathematical relationship to the indices of the +# parent: 2n+1 and 2n+2. +# +# If we traverse the tree from left to right we can check each +# node, and, if both children are null we have found a leaf. As +# the levels ascend from left-to-right the first leaf found +# will have the minimum depth. +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use utf8; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + + + +my $input = shift ; +say mindepth( parse( $input ) ) if defined $input;; + +sub parse ( $input ) { + return map { $_ eq '*' ? undef : $_ } + grep { $_ ne '|' } + split ' ', $input; +} + +sub mindepth ( @tree ) { + my $level = 1 ; + my $count = 0 ; + + for my $idx ( 0 .. $#tree ) { + return $level if ( defined $tree[$idx] + and not defined $tree[$idx * 2 + 1] + and not defined $tree[$idx * 2 + 2] ) ; + $level++ and $count = 0 if ++$count == 2 ** ($level-1) ; + } +} + + + +use Test::More; + +is mindepth( parse('1 | 2 3 | 4 5') ), 2, 'ex-1'; +is mindepth( parse('1 | 2 3 | 4 * * 5 | * 6') ), 3, 'ex-2'; +is mindepth( parse('A | B C | D E F G | H I J L M N O P') ), 4, 'deeper'; +is mindepth( parse('X') ), 1, 'root'; + + +done_testing(); diff --git a/challenge-151/colin-crain/perl/ch-2.pl b/challenge-151/colin-crain/perl/ch-2.pl new file mode 100755 index 0000000000..a12aad87fe --- /dev/null +++ b/challenge-151/colin-crain/perl/ch-2.pl @@ -0,0 +1,118 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# daylight-robbery.pl +# +# Rob The House +# Submitted by: Mohammad S Anwar +# You are planning to rob a row of houses, always starting with the +# first and moving in the same direction. However, you can’t rob +# two adjacent houses. +# +# Write a script to find the highest possible gain that can be +# achieved. +# +# Example 1: +# Input: @valuables = (2, 4, 5); +# Output: 7 +# +# If we rob house (index=0) we get 2 and then the only house we can +# rob is house (index=2) where we have 5. So the total valuables in +# this case is (2 + 5) = 7. +# +# Example 2: +# Input: @valuables = (4, 2, 3, 6, 5, 3); +# Output: 13 +# +# The best choice would be to first rob house (index=0) then rob +# house (index=3) then finally house (index=5). This would give us +# 4 + 6 + 3 =13. +# +# method: + +# In this version of the travelling burglar problem, wait, is that +# a thing? I thought that was a thing. Oh well, in any case, the +# goal here is to optimize our selection along an ordered sequence +# governed by a set of rules: +# +# 1. we can ony proceed forward +# 2. we must skip the next element in any movement. +# 3. the goal is the highest sum of gathered elements +# +# There is no further governance on the selection of elements, but +# some optimal emergent behavior can be derived to guide us to a +# winning strategy. For example, from any element we should move +# forward either 2 or 3 positions. We cannot move one, and any +# position greater than 3 can be arrived at by some combination of +# intermediatary steps: position 4 can be broken down into 2 + 2, 5 +# as 2 + 3 or 3 + 2. As all values are positive (or at least 0, but +# not negative) there is never a downside to adding an intermediate +# stopover. +# +# So 2 or 3 it is. +# +# After 2 or 3, however, there is a problem with looking ahead, as +# the element at position n+4 is always dependant on the choices +# made previously, as it can only be arrived at in one specific +# manner. Furthermore, this predicate dependancy can be +# indefinitely extended to the chain of all 2-separate values, +# which can only be achieved by making the 2-selectiomn from the +# very beginning. There are two such sequences in every list, +# corresponding to the ood- and even-numbered indices, that +# maximize the number of elements selected, that can only be +# arrived at by making specific mutulaly-exclusive choices at the +# beginning of the run. +# +# In short, in order to sum these sequences, each needs to be +# started separately and run through completely, examining every +# element. As they may also contain the maximal sum, then therefore +# we need to look at every value before we can make the +# determination of which pattern maximizes the sum. +# +# So we need to look at all the patterns first. There's no escaping +# that. Or at least the whole list of values. Maybe not every +# pattern, actually. But pruniing the search tree will be tricky if +# it's even possible. +# +# It looks like we will need ot look at every pattern of 2- and +# 3-jumps, starting at either the 0th or 1st position. +# +# As we are tasked with robbing real imaginary houses along a real +# imaginary block we can assume the number of houses to be finite +# and not excessively large. But the algorithm will bog down +# eventually, just to put that out front. +# +# +# +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use utf8; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + + +our @arr = ( +1, 2, 3, 6, 5, 3, 8, 1, 1, 1, +2, 3, 6, 5, 3, 8, 1, 1, 1, 2, +3, 6, 5, 3, 8, 1, 1, 1, 2, 3, +6, 5, 3, 8, 1, 1, 1, 2, 3, 6, +5, 3, 8, 1, 1, 1, 2, 3, 6, 5, +3, 8, 1, 1, 1, 2, 6, 5, 3, 8 ); + + +say lookahead( ); + +sub lookahead ( $pos = -2, $sum = 0 ) { + return $sum if $pos > $#arr; + $sum += $arr[ $pos ] if $pos >= 0; + my $two = lookahead( $pos + 2, $sum ) ; + my $three = lookahead( $pos + 3, $sum ) ; + return $two > $three ? $two : $three ; +} + diff --git a/challenge-151/colin-crain/raku/ch-1.raku b/challenge-151/colin-crain/raku/ch-1.raku new file mode 100755 index 0000000000..d305cf45e5 --- /dev/null +++ b/challenge-151/colin-crain/raku/ch-1.raku @@ -0,0 +1,77 @@ +#!/usr/bin/env perl6 +# +# +# 151-1-no-diving-in-the-shallow-end.raku +# +# +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN ( $input = '1 | 2 3 | 4 * * 5 | * 6' ) ; + +say mindepth( parse( $input ) ); + +sub parse ( $input ) { + $input .split(/\s+/) + .grep( * ne '|') + .map: {$_ eq '*' ?? Nil !! $_} ; +} + +sub mindepth ( @tree ) { + my ( $level, $count ) = ( 1, 0 ); + for @tree.keys -> $idx { + return $level if @tree[$idx].defined + and not @tree[$idx * 2 + 1].defined + and not @tree[$idx * 2 + 2].defined ; + + $level++ and $count = 0 if ++$count == 2 ** ($level-1); + } +} + +use Test; + +is mindepth( parse('1 | 2 3 | 4 5') ), 2, 'ex-1'; +is mindepth( parse('1 | 2 3 | 4 * * 5 | * 6') ), 3, 'ex-2'; +is mindepth( parse('A | B C | D E F G | H I J L M N O P') ), 4, 'deeper'; +is mindepth( parse('X') ), 1, 'root'; + + + + + + + + + + + + + + + + + +# my $input = shift ; +# say mindepth( parse( $input ) ) if defined $input;; +# +# sub parse ( $input ) { +# return map { $_ eq '*' ? undef : $_ } +# grep { $_ ne '|' } +# split ' ', $input; +# } +# +# sub mindepth ( @tree ) { +# my $level = 1 ; +# my $count = 0 ; +# +# for my $idx ( 0 .. $#tree ) { +# return $level if ( defined $tree[$idx] +# and not defined $tree[$idx * 2 + 1] +# and not defined $tree[$idx * 2 + 2] ) ; +# $level++ and $count = 0 if ++$count == 2 ** ($level-1) ; +# } +# } +# diff --git a/challenge-151/colin-crain/raku/ch-2.raku b/challenge-151/colin-crain/raku/ch-2.raku new file mode 100755 index 0000000000..34340002f3 --- /dev/null +++ b/challenge-151/colin-crain/raku/ch-2.raku @@ -0,0 +1,27 @@ +#!/usr/bin/env perl6 +# +# +# daylight-robbery.raku +# +# +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN ( *@arr ) ; + + +## test data +@arr = 1,2,3,4 if @arr.elems == 0; + +say lookahead(); + +sub lookahead( $pos = -2, $sum is copy = 0) { + return $sum if $pos > @arr.end; + $pos >= 0 && $sum += @arr[$pos]; + ( lookahead( $pos + $_, $sum ) for 2, 3 ).max +} + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 4fcc148c46..4ed5efca8e 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,17 +1,153 @@ { + "series" : [ + { + "data" : [ + { + "drilldown" : "Abigail", + "name" : "Abigail", + "y" : 2 + }, + { + "y" : 2, + "name" : "Alexander Pankoff", + "drilldown" : "Alexander Pankoff" + }, + { + "y" : 3, + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "y" : 4, + "name" : "Athanasius", + "drilldown" : "Athanasius" + }, + { + "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung", + "y" : 1 + }, + { + "y" : 5, + "drilldown" : "Colin Crain", + "name" : "Colin Crain" + }, + { + "y" : 3, + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby" + }, + { + "y" : 2, + "drilldown" : "Duncan C. White", + "name" : "Duncan C. White" + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "name" : "Feng Chang", + "drilldown" : "Feng Chang", + "y" : 1 + }, + { + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti", + "y" : 6 + }, + { + "name" : "James Smith", + "drilldown" : "James Smith", + "y" : 3 + }, + { + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey", + "y" : 2 + }, + { + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", + "y" : 3 + }, + { + "y" : 2, + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch" + }, + { + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 2 + }, + { + "y" : 2, + "name" : "Marton Polgar", + "drilldown" : "Marton Polgar" + }, + { + "drilldown" : "Matthew Neleigh", + "name" : "Matthew Neleigh", + "y" : 2 + }, + { + "y" : 1, + "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar" + }, + { + "y" : 3, + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith" + }, + { + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West", + "y" : 5 + }, + { + "y" : 3, + "name" : "Simon Green", + "drilldown" : "Simon Green" + }, + { + "y" : 4, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "y" : 3, + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + } + ], + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 151" + } + ], + "tooltip" : { + "headerFormat" : "{series.name}
", + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "chart" : { - "type" : "column" - }, "subtitle" : { - "text" : "[Champions: 24] Last updated at 2022-02-13 23:28:06 GMT" - }, - "title" : { - "text" : "The Weekly Challenge - 151" + "text" : "[Champions: 24] Last updated at 2022-02-13 23:35:27 GMT" }, "drilldown" : { "series" : [ @@ -22,18 +158,18 @@ 2 ] ], - "name" : "Abigail", - "id" : "Abigail" + "id" : "Abigail", + "name" : "Abigail" }, { + "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] ], - "id" : "Alexander Pankoff", - "name" : "Alexander Pankoff" + "id" : "Alexander Pankoff" }, { "name" : "Arne Sommer", @@ -50,8 +186,6 @@ ] }, { - "id" : "Athanasius", - "name" : "Athanasius", "data" : [ [ "Perl", @@ -61,31 +195,39 @@ "Raku", 2 ] - ] + ], + "id" : "Athanasius", + "name" : "Athanasius" }, { - "name" : "Cheok-Yin Fung", - "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" }, { "id" : "Colin Crain", - "name" : "Colin Crain", "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], [ "Blog", 1 ] - ] + ], + "name" : "Colin Crain" }, { - "id" : "Dave Jacoby", - "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -95,41 +237,42 @@ "Blog", 1 ] - ] + ], + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "id" : "Duncan C. White", - "name" : "Duncan C. White", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Duncan C. White", + "name" : "Duncan C. White" }, { - "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "E. Choroba" }, { "name" : "Feng Chang", - "id" : "Feng Chang", "data" : [ [ "Raku", 1 ] - ] + ], + "id" : "Feng Chang" }, { "name" : "Flavio Poletti", - "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -143,9 +286,12 @@ "Blog", 2 ] - ] + ], + "id" : "Flavio Poletti" }, { + "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", @@ -155,19 +301,17 @@ "Blog", 1 ] - ], - "name" : "James Smith", - "id" : "James Smith" + ] }, { + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey" + ] }, { "data" : [ @@ -184,18 +328,18 @@ 1 ] ], - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld" + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { + "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] - ], - "name" : "Lubos Kolouch", - "id" : "Lubos Kolouch" + ] }, { "data" : [ @@ -218,14 +362,14 @@ "name" : "Marton Polgar" }, { - "id" : "Matthew Neleigh", - "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh" }, { "data" : [ @@ -234,8 +378,8 @@ 1 ] ], - "name" : "Mohammad S Anwar", - "id" : "Mohammad S Anwar" + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { "data" : [ @@ -252,6 +396,8 @@ "name" : "Peter Campbell Smith" }, { + "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -265,11 +411,10 @@ "Blog", 1 ] - ], - "name" : "Roger Bell_West", - "id" : "Roger Bell_West" + ] }, { + "name" : "Simon Green", "data" : [ [ "Perl", @@ -280,11 +425,9 @@ 1 ] ], - "id" : "Simon Green", - "name" : "Simon Green" + "id" : "Simon Green" }, { - "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", "data" : [ [ @@ -295,9 +438,11 @@ "Raku", 2 ] - ] + ], + "id" : "Ulrich Rieke" }, { + "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -308,157 +453,20 @@ 1 ] ], - "name" : "W. Luis Mochan", "id" : "W. Luis Mochan" } ] }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "{series.name}
", - "pointFormat" : "{point.name}: {point.y:f}
" - }, "legend" : { "enabled" : 0 }, - "xAxis" : { - "type" : "category" + "chart" : { + "type" : "column" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } + "title" : { + "text" : "The Weekly Challenge - 151" }, - "series" : [ - { - "name" : "The Weekly Challenge - 151", - "colorByPoint" : 1, - "data" : [ - { - "y" : 2, - "drilldown" : "Abigail", - "name" : "Abigail" - }, - { - "y" : 2, - "drilldown" : "Alexander Pankoff", - "name" : "Alexander Pankoff" - }, - { - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer", - "y" : 3 - }, - { - "y" : 4, - "drilldown" : "Athanasius", - "name" : "Athanasius" - }, - { - "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", - "y" : 1 - }, - { - "name" : "Colin Crain", - "drilldown" : "Colin Crain", - "y" : 1 - }, - { - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 3 - }, - { - "y" : 2, - "name" : "Duncan C. White", - "drilldown" : "Duncan C. White" - }, - { - "name" : "E. Choroba", - "drilldown" : "E. Choroba", - "y" : 2 - }, - { - "y" : 1, - "drilldown" : "Feng Chang", - "name" : "Feng Chang" - }, - { - "drilldown" : "Flavio Poletti", - "name" : "Flavio Poletti", - "y" : 6 - }, - { - "y" : 3, - "name" : "James Smith", - "drilldown" : "James Smith" - }, - { - "y" : 2, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" - }, - { - "drilldown" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld", - "y" : 3 - }, - { - "y" : 2, - "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch" - }, - { - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson", - "y" : 2 - }, - { - "name" : "Marton Polgar", - "drilldown" : "Marton Polgar", - "y" : 2 - }, - { - "y" : 2, - "name" : "Matthew Neleigh", - "drilldown" : "Matthew Neleigh" - }, - { - "name" : "Mohammad S Anwar", - "drilldown" : "Mohammad S Anwar", - "y" : 1 - }, - { - "name" : "Peter Campbell Smith", - "drilldown" : "Peter Campbell Smith", - "y" : 3 - }, - { - "y" : 5, - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West" - }, - { - "y" : 3, - "drilldown" : "Simon Green", - "name" : "Simon Green" - }, - { - "y" : 4, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - }, - { - "y" : 3, - "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" - } - ] - } - ] + "xAxis" : { + "type" : "category" + } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 1fdaa9d3bc..acb3bdd6f2 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,22 +1,13 @@ { - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 }, "tooltip" : { "pointFormat" : "{point.y:.0f}" }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, - "legend" : { - "enabled" : "false" - }, "series" : [ { "data" : [ @@ -26,38 +17,47 @@ ], [ "Perl", - 7283 + 7285 ], [ "Raku", - 4375 + 4377 ] ], "dataLabels" : { - "color" : "#FFFFFF", - "format" : "{point.y:.0f}", - "align" : "right", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, + "enabled" : "true", + "align" : "right", "rotation" : -90, - "y" : 10, - "enabled" : "true" + "color" : "#FFFFFF", + "format" : "{point.y:.0f}", + "y" : 10 }, "name" : "Contributions" } ], - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" }, - "subtitle" : { - "text" : "Last updated at 2022-02-13 23:28:05 GMT" + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } }, "chart" : { "type" : "column" + }, + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Last updated at 2022-02-13 23:35:27 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index f84d13d316..68fd9cf956 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,37 +1,12 @@ { - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-02-13 23:28:06 GMT" - }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "tooltip" : { - "headerFormat" : "", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true" - }, - "legend" : { - "enabled" : "false" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "xAxis" : { - "type" : "category" - }, "series" : [ { + "colorByPoint" : "true", "name" : "The Weekly Challenge Languages", "data" : [ { @@ -45,59 +20,59 @@ "name" : "#002" }, { + "y" : 83, "drilldown" : "003", - "name" : "#003", - "y" : 83 + "name" : "#003" }, { - "drilldown" : "004", + "y" : 99, "name" : "#004", - "y" : 99 + "drilldown" : "004" }, { + "y" : 78, "drilldown" : "005", - "name" : "#005", - "y" : 78 + "name" : "#005" }, { - "name" : "#006", + "y" : 58, "drilldown" : "006", - "y" : 58 + "name" : "#006" }, { - "name" : "#007", + "y" : 64, "drilldown" : "007", - "y" : 64 + "name" : "#007" }, { - "name" : "#008", "drilldown" : "008", + "name" : "#008", "y" : 78 }, { - "y" : 76, + "name" : "#009", "drilldown" : "009", - "name" : "#009" + "y" : 76 }, { - "y" : 65, "drilldown" : "010", - "name" : "#010" + "name" : "#010", + "y" : 65 }, { - "name" : "#011", + "y" : 85, "drilldown" : "011", - "y" : 85 + "name" : "#011" }, { - "drilldown" : "012", + "y" : 89, "name" : "#012", - "y" : 89 + "drilldown" : "012" }, { - "y" : 85, "name" : "#013", - "drilldown" : "013" + "drilldown" : "013", + "y" : 85 }, { "drilldown" : "014", @@ -105,18 +80,18 @@ "y" : 101 }, { - "name" : "#015", + "y" : 99, "drilldown" : "015", - "y" : 99 + "name" : "#015" }, { - "drilldown" : "016", + "y" : 71, "name" : "#016", - "y" : 71 + "drilldown" : "016" }, { - "name" : "#017", "drilldown" : "017", + "name" : "#017", "y" : 84 }, { @@ -125,9 +100,9 @@ "drilldown" : "018" }, { - "drilldown" : "019", + "y" : 103, "name" : "#019", - "y" : 103 + "drilldown" : "019" }, { "y" : 101, @@ -140,14 +115,14 @@ "y" : 72 }, { - "name" : "#022", + "y" : 68, "drilldown" : "022", - "y" : 68 + "name" : "#022" }, { "y" : 97, - "name" : "#023", - "drilldown" : "023" + "drilldown" : "023", + "name" : "#023" }, { "name" : "#024", @@ -156,13 +131,13 @@ }, { "y" : 59, - "drilldown" : "025", - "name" : "#025" + "name" : "#025", + "drilldown" : "025" }, { - "drilldown" : "026", + "y" : 74, "name" : "#026", - "y" : 74 + "drilldown" : "026" }, { "y" : 62, @@ -176,8 +151,8 @@ }, { "y" : 81, - "drilldown" : "029", - "name" : "#029" + "name" : "#029", + "drilldown" : "029" }, { "y" : 119, @@ -185,9 +160,9 @@ "name" : "#030" }, { - "y" : 91, "name" : "#031", - "drilldown" : "031" + "drilldown" : "031", + "y" : 91 }, { "name" : "#032", @@ -200,29 +175,29 @@ "y" : 112 }, { - "y" : 66, + "name" : "#034", "drilldown" : "034", - "name" : "#034" + "y" : 66 }, { - "y" : 66, + "name" : "#035", "drilldown" : "035", - "name" : "#035" + "y" : 66 }, { - "y" : 68, + "drilldown" : "036", "name" : "#036", - "drilldown" : "036" + "y" : 68 }, { + "y" : 67, "drilldown" : "037", - "name" : "#037", - "y" : 67 + "name" : "#037" }, { + "y" : 68, "drilldown" : "038", - "name" : "#038", - "y" : 68 + "name" : "#038" }, { "drilldown" : "039", @@ -230,9 +205,9 @@ "y" : 62 }, { - "y" : 73, "name" : "#040", - "drilldown" : "040" + "drilldown" : "040", + "y" : 73 }, { "drilldown" : "041", @@ -250,39 +225,39 @@ "drilldown" : "043" }, { - "y" : 85, "drilldown" : "044", - "name" : "#044" + "name" : "#044", + "y" : 85 }, { - "y" : 96, "name" : "#045", - "drilldown" : "045" + "drilldown" : "045", + "y" : 96 }, { - "drilldown" : "046", + "y" : 87, "name" : "#046", - "y" : 87 + "drilldown" : "046" }, { - "y" : 84, "drilldown" : "047", - "name" : "#047" + "name" : "#047", + "y" : 84 }, { - "name" : "#048", "drilldown" : "048", + "name" : "#048", "y" : 108 }, { - "y" : 89, + "name" : "#049", "drilldown" : "049", - "name" : "#049" + "y" : 89 }, { - "y" : 98, + "name" : "#050", "drilldown" : "050", - "name" : "#050" + "y" : 98 }, { "name" : "#051", @@ -295,14 +270,14 @@ "y" : 91 }, { - "y" : 101, + "drilldown" : "053", "name" : "#053", - "drilldown" : "053" + "y" : 101 }, { - "drilldown" : "054", + "y" : 103, "name" : "#054", - "y" : 103 + "drilldown" : "054" }, { "y" : 88, @@ -310,14 +285,14 @@ "name" : "#055" }, { + "y" : 95, "drilldown" : "056", - "name" : "#056", - "y" : 95 + "name" : "#056" }, { + "y" : 80, "drilldown" : "057", - "name" : "#057", - "y" : 80 + "name" : "#057" }, { "y" : 69, @@ -325,24 +300,24 @@ "drilldown" : "058" }, { - "y" : 89, "name" : "#059", - "drilldown" : "059" + "drilldown" : "059", + "y" : 89 }, { - "y" : 85, "drilldown" : "060", - "name" : "#060" + "name" : "#060", + "y" : 85 }, { + "y" : 81, "name" : "#061", - "drilldown" : "061", - "y" : 81 + "drilldown" : "061" }, { "y" : 58, - "drilldown" : "062", - "name" : "#062" + "name" : "#062", + "drilldown" : "062" }, { "y" : 89, @@ -350,9 +325,9 @@ "drilldown" : "063" }, { - "y" : 80, "drilldown" : "064", - "name" : "#064" + "name" : "#064", + "y" : 80 }, { "y" : 73, @@ -360,24 +335,24 @@ "name" : "#065" }, { - "drilldown" : "066", "name" : "#066", + "drilldown" : "066", "y" : 84 }, { + "y" : 90, "drilldown" : "067", - "name" : "#067", - "y" : 90 + "name" : "#067" }, { - "drilldown" : "068", + "y" : 75, "name" : "#068", - "y" : 75 + "drilldown" : "068" }, { - "y" : 83, "name" : "#069", - "drilldown" : "069" + "drilldown" : "069", + "y" : 83 }, { "drilldown" : "070", @@ -385,13 +360,13 @@ "y" : 93 }, { - "drilldown" : "071", + "y" : 78, "name" : "#071", - "y" : 78 + "drilldown" : "071" }, { - "drilldown" : "072", "name" : "#072", + "drilldown" : "072", "y" : 112 }, { @@ -400,28 +375,28 @@ "name" : "#073" }, { - "y" : 115, + "name" : "#074", "drilldown" : "074", - "name" : "#074" + "y" : 115 }, { - "drilldown" : "075", + "y" : 115, "name" : "#075", - "y" : 115 + "drilldown" : "075" }, { - "y" : 101, "drilldown" : "076", - "name" : "#076" + "name" : "#076", + "y" : 101 }, { - "drilldown" : "077", "name" : "#077", + "drilldown" : "077", "y" : 98 }, { - "name" : "#078", "drilldown" : "078", + "name" : "#078", "y" : 127 }, { @@ -430,29 +405,29 @@ "y" : 122 }, { - "y" : 127, + "name" : "#080", "drilldown" : "080", - "name" : "#080" + "y" : 127 }, { - "name" : "#081", + "y" : 114, "drilldown" : "081", - "y" : 114 + "name" : "#081" }, { - "y" : 114, "name" : "#082", - "drilldown" : "082" + "drilldown" : "082", + "y" : 114 }, { - "y" : 127, + "name" : "#083", "drilldown" : "083", - "name" : "#083" + "y" : 127 }, { - "y" : 119, "name" : "#084", - "drilldown" : "084" + "drilldown" : "084", + "y" : 119 }, { "y" : 114, @@ -460,14 +435,14 @@ "drilldown" : "085" }, { - "y" : 104, "name" : "#086", - "drilldown" : "086" + "drilldown" : "086", + "y" : 104 }, { - "name" : "#087", + "y" : 101, "drilldown" : "087", - "y" : 101 + "name" : "#087" }, { "y" : 121, @@ -485,19 +460,19 @@ "y" : 113 }, { - "name" : "#091", "drilldown" : "091", + "name" : "#091", "y" : 108 }, { + "y" : 98, "name" : "#092", - "drilldown" : "092", - "y" : 98 + "drilldown" : "092" }, { - "name" : "#093", + "y" : 87, "drilldown" : "093", - "y" : 87 + "name" : "#093" }, { "y" : 87, @@ -505,29 +480,29 @@ "name" : "#094" }, { - "y" : 108, "name" : "#095", - "drilldown" : "095" + "drilldown" : "095", + "y" : 108 }, { - "drilldown" : "096", "name" : "#096", + "drilldown" : "096", "y" : 108 }, { "y" : 111, - "drilldown" : "097", - "name" : "#097" + "name" : "#097", + "drilldown" : "097" }, { - "y" : 108, + "drilldown" : "098", "name" : "#098", - "drilldown" : "098" + "y" : 108 }, { - "name" : "#099", + "y" : 97, "drilldown" : "099", - "y" : 97 + "name" : "#099" }, { "y" : 120, @@ -535,44 +510,44 @@ "drilldown" : "100" }, { - "name" : "#101", + "y" : 83, "drilldown" : "101", - "y" : 83 + "name" : "#101" }, { - "name" : "#102", "drilldown" : "102", + "name" : "#102", "y" : 90 }, { + "y" : 79, "name" : "#103", - "drilldown" : "103", - "y" : 79 + "drilldown" : "103" }, { - "y" : 85, + "drilldown" : "104", "name" : "#104", - "drilldown" : "104" + "y" : 85 }, { + "y" : 75, "drilldown" : "105", - "name" : "#105", - "y" : 75 + "name" : "#105" }, { + "y" : 97, "name" : "#106", - "drilldown" : "106", - "y" : 97 + "drilldown" : "106" }, { - "name" : "#107", + "y" : 90, "drilldown" : "107", - "y" : 90 + "name" : "#107" }, { - "y" : 94, "drilldown" : "108", - "name" : "#108" + "name" : "#108", + "y" : 94 }, { "y" : 107, @@ -585,14 +560,14 @@ "name" : "#110" }, { + "y" : 91, "name" : "#111", - "drilldown" : "111", - "y" : 91 + "drilldown" : "111" }, { + "y" : 92, "drilldown" : "112", - "name" : "#112", - "y" : 92 + "name" : "#112" }, { "name" : "#113", @@ -605,49 +580,49 @@ "drilldown" : "114" }, { + "y" : 96, "name" : "#115", - "drilldown" : "115", - "y" : 96 + "drilldown" : "115" }, { "y" : 95, - "name" : "#116", - "drilldown" : "116" + "drilldown" : "116", + "name" : "#116" }, { + "y" : 97, "name" : "#117", - "drilldown" : "117", - "y" : 97 + "drilldown" : "117" }, { "y" : 83, - "name" : "#118", - "drilldown" : "118" + "drilldown" : "118", + "name" : "#118" }, { - "y" : 125, + "drilldown" : "119", "name" : "#119", - "drilldown" : "119" + "y" : 125 }, { - "y" : 116, + "name" : "#120", "drilldown" : "120", - "name" : "#120" + "y" : 116 }, { "y" : 92, - "name" : "#121", - "drilldown" : "121" + "drilldown" : "121", + "name" : "#121" }, { "y" : 110, - "name" : "#122", - "drilldown" : "122" + "drilldown" : "122", + "name" : "#122" }, { - "name" : "#123", + "y" : 105, "drilldown" : "123", - "y" : 105 + "name" : "#123" }, { "y" : 85, @@ -655,8 +630,8 @@ "name" : "#124" }, { - "drilldown" : "125", "name" : "#125", + "drilldown" : "125", "y" : 63 }, { @@ -666,8 +641,8 @@ }, { "y" : 110, - "drilldown" : "127", - "name" : "#127" + "name" : "#127", + "drilldown" : "127" }, { "y" : 71, @@ -675,9 +650,9 @@ "drilldown" : "128" }, { - "y" : 50, + "name" : "#129", "drilldown" : "129", - "name" : "#129" + "y" : 50 }, { "y" : 73, @@ -690,44 +665,44 @@ "y" : 91 }, { - "name" : "#132", "drilldown" : "132", + "name" : "#132", "y" : 78 }, { - "drilldown" : "133", + "y" : 95, "name" : "#133", - "y" : 95 + "drilldown" : "133" }, { - "y" : 94, "drilldown" : "134", - "name" : "#134" + "name" : "#134", + "y" : 94 }, { - "drilldown" : "135", "name" : "#135", + "drilldown" : "135", "y" : 104 }, { - "y" : 95, "drilldown" : "136", - "name" : "#136" + "name" : "#136", + "y" : 95 }, { - "y" : 100, "name" : "#137", - "drilldown" : "137" + "drilldown" : "137", + "y" : 100 }, { "y" : 100, - "name" : "#138", - "drilldown" : "138" + "drilldown" : "138", + "name" : "#138" }, { + "y" : 97, "name" : "#139", - "drilldown" : "139", - "y" : 97 + "drilldown" : "139" }, { "name" : "#140", @@ -735,9 +710,9 @@ "y" : 103 }, { + "y" : 102, "drilldown" : "141", - "name" : "#141", - "y" : 102 + "name" : "#141" }, { "y" : 83, @@ -745,8 +720,8 @@ "drilldown" : "142" }, { - "name" : "#143", "drilldown" : "143", + "name" : "#143", "y" : 81 }, { @@ -755,29 +730,29 @@ "y" : 85 }, { - "y" : 93, "name" : "#145", - "drilldown" : "145" + "drilldown" : "145", + "y" : 93 }, { - "name" : "#146", "drilldown" : "146", + "name" : "#146", "y" : 103 }, { - "y" : 104, "name" : "#147", - "drilldown" : "147" + "drilldown" : "147", + "y" : 104 }, { - "y" : 90, + "drilldown" : "148", "name" : "#148", - "drilldown" : "148" + "y" : 90 }, { - "drilldown" : "149", + "y" : 86, "name" : "#149", - "y" : 86 + "drilldown" : "149" }, { "name" : "#150", @@ -785,20 +760,46 @@ "y" : 104 }, { - "y" : 62, + "y" : 66, "drilldown" : "151", "name" : "#151" } - ], - "colorByPoint" : "true" + ] } ], + "tooltip" : { + "followPointer" : "true", + "pointFormat" : "Challenge {point.name}: {point.y:f}
", + "headerFormat" : "" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "legend" : { + "enabled" : "false" + }, "title" : { "text" : "The Weekly Challenge Language" }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-02-13 23:35:27 GMT" + }, "drilldown" : { "series" : [ { + "id" : "001", "data" : [ [ "Perl", @@ -813,10 +814,10 @@ 11 ] ], - "name" : "001", - "id" : "001" + "name" : "001" }, { + "id" : "002", "data" : [ [ "Perl", @@ -831,7 +832,6 @@ 10 ] ], - "id" : "002", "name" : "002" }, { @@ -853,6 +853,8 @@ ] }, { + "name" : "004", + "id" : "004", "data" : [ [ "Perl", @@ -866,11 +868,11 @@ "Blog", 10 ] - ], - "name" : "004", - "id" : "004" + ] }, { + "name" : "005", + "id" : "005", "data" : [ [ "Perl", @@ -884,13 +886,9 @@ "Blog", 12 ] - ], - "name" : "005", - "id" : "005" + ] }, { - "name" : "006", - "id" : "006", "data" : [ [ "Perl", @@ -904,9 +902,12 @@ "Blog", 7 ] - ] + ], + "id" : "006", + "name" : "006" }, { + "name" : "007", "data" : [ [ "Perl", @@ -921,10 +922,10 @@ 10 ] ], - "id" : "007", - "name" : "007" + "id" : "007" }, { + "name" : "008", "data" : [ [ "Perl", @@ -939,10 +940,10 @@ 12 ] ], - "id" : "008", - "name" : "008" + "id" : "008" }, { + "id" : "009", "data" : [ [ "Perl", @@ -957,12 +958,10 @@ 13 ] ], - "name" : "009", - "id" : "009" + "name" : "009" }, { "name" : "010", - "id" : "010", "data" : [ [ "Perl", @@ -976,7 +975,8 @@ "Blog", 11 ] - ] + ], + "id" : "010" }, { "name" : "011", @@ -997,8 +997,6 @@ ] }, { - "id" : "012", - "name" : "012", "data" : [ [ "Perl", @@ -1012,7 +1010,9 @@ "Blog", 11 ] - ] + ], + "id" : "012", + "name" : "012" }, { "name" : "013", @@ -1033,6 +1033,7 @@ ] }, { + "name" : "014", "data" : [ [ "Perl", @@ -1047,10 +1048,11 @@ 15 ] ], - "name" : "014", "id" : "014" }, { + "name" : "015", + "id" : "015", "data" : [ [ "Perl", @@ -1064,13 +1066,9 @@ "Blog", 15 ] - ], - "id" : "015", - "name" : "015" + ] }, { - "id" : "016", - "name" : "016", "data" : [ [ "Perl", @@ -1084,11 +1082,13 @@ "Blog", 12 ] - ] + ], + "id" : "016", + "name" : "016" }, { - "id" : "017", "name" : "017", + "id" : "017", "data" : [ [ "Perl", @@ -1105,7 +1105,6 @@ ] }, { - "id" : "018", "name" : "018", "data" : [ [ @@ -1120,11 +1119,12 @@ "Blog", 14 ] - ] + ], + "id" : "018" }, { - "id" : "019", "name" : "019", + "id" : "019", "data" : [ [ "Perl", @@ -1141,6 +1141,7 @@ ] }, { + "name" : "020", "data" : [ [ "Perl", @@ -1155,11 +1156,9 @@ 13 ] ], - "name" : "020", "id" : "020" }, { - "id" : "021", "name" : "021", "data" : [ [ @@ -1174,9 +1173,12 @@ "Blog", 10 ] - ] + ], + "id" : "021" }, { + "name" : "022", + "id" : "022", "data" : [ [ "Perl", @@ -1190,11 +1192,10 @@ "Blog", 10 ] - ], - "id" : "022", - "name" : "022" + ] }, { + "id" : "023", "data" : [ [ "Perl", @@ -1209,10 +1210,10 @@ 12 ] ], - "name" : "023", - "id" : "023" + "name" : "023" }, { + "id" : "024", "data" : [ [ "Perl", @@ -1227,11 +1228,9 @@ 11 ] ], - "id" : "024", "name" : "024" }, { - "name" : "025", "id" : "025", "data" : [ [ @@ -1246,9 +1245,11 @@ "Blog", 12 ] - ] + ], + "name" : "025" }, { + "name" : "026", "data" : [ [ "Perl", @@ -1263,10 +1264,10 @@ 10 ] ], - "name" : "026", "id" : "026" }, { + "name" : "027", "data" : [ [ "Perl", @@ -1281,12 +1282,10 @@ 9 ] ], - "id" : "027", - "name" : "027" + "id" : "027" }, { "name" : "028", - "id" : "028", "data" : [ [ "Perl", @@ -1300,9 +1299,11 @@ "Blog", 9 ] - ] + ], + "id" : "028" }, { + "id" : "029", "data" : [ [ "Perl", @@ -1317,11 +1318,9 @@ 12 ] ], - "id" : "029", "name" : "029" }, { - "name" : "030", "id" : "030", "data" : [ [ @@ -1336,11 +1335,11 @@ "Blog", 10 ] - ] + ], + "name" : "030" }, { "name" : "031", - "id" : "031", "data" : [ [ "Perl", @@ -1354,11 +1353,11 @@ "Blog", 9 ] - ] + ], + "id" : "031" }, { "id" : "032", - "name" : "032", "data" : [ [ "Perl", @@ -1372,7 +1371,8 @@ "Blog", 10 ] - ] + ], + "name" : "032" }, { "name" : "033", @@ -1393,6 +1393,8 @@ ] }, { + "name" : "034", + "id" : "034", "data" : [ [ "Perl", @@ -1406,13 +1408,11 @@ "Blog", 11 ] - ], - "id" : "034", - "name" : "034" + ] }, { - "id" : "035", "name" : "035", + "id" : "035", "data" : [ [