From 24fc98c57a9dafd7d7a7c54d82907d95963be86d Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 5 Dec 2022 03:13:10 +0000 Subject: - Added solutions by Colin Crain. --- challenge-193/colin-crain/blog.txt | 1 + challenge-193/colin-crain/perl/ch-1.pl | 89 ++ challenge-193/colin-crain/perl/ch-2.pl | 244 ++++++ stats/pwc-current.json | 349 ++++---- stats/pwc-language-breakdown-summary.json | 50 +- stats/pwc-language-breakdown.json | 1348 ++++++++++++++--------------- stats/pwc-leaders.json | 404 ++++----- stats/pwc-summary-1-30.json | 88 +- stats/pwc-summary-121-150.json | 46 +- stats/pwc-summary-151-180.json | 96 +- stats/pwc-summary-181-210.json | 50 +- stats/pwc-summary-211-240.json | 48 +- stats/pwc-summary-241-270.json | 104 +-- stats/pwc-summary-271-300.json | 30 +- stats/pwc-summary-31-60.json | 106 +-- stats/pwc-summary-61-90.json | 26 +- stats/pwc-summary-91-120.json | 104 +-- stats/pwc-summary.json | 600 ++++++------- 18 files changed, 2068 insertions(+), 1715 deletions(-) create mode 100644 challenge-193/colin-crain/blog.txt create mode 100755 challenge-193/colin-crain/perl/ch-1.pl create mode 100755 challenge-193/colin-crain/perl/ch-2.pl diff --git a/challenge-193/colin-crain/blog.txt b/challenge-193/colin-crain/blog.txt new file mode 100644 index 0000000000..516611f64f --- /dev/null +++ b/challenge-193/colin-crain/blog.txt @@ -0,0 +1 @@ +https://colincrain.com/2022/12/04/what-an-unusual-string-you-have-there-or-are-you-just-glad-to-meet-me diff --git a/challenge-193/colin-crain/perl/ch-1.pl b/challenge-193/colin-crain/perl/ch-1.pl new file mode 100755 index 0000000000..41ccc96123 --- /dev/null +++ b/challenge-193/colin-crain/perl/ch-1.pl @@ -0,0 +1,89 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# binstr.pl +# +# "like napster with binary strings. Or tumblr... with binary strings" +# +# Binary String +# Submitted by: Mohammad S Anwar +# You are given an integer, $n > 0. +# +# Write a script to find all possible binary numbers of size $n. +# +# Example 1 +# Input: $n = 2 +# Output: 00, 11, 01, 10 +# +# Example 2 +# Input: $n = 3 +# Output: 000, 001, 010, 100, 111, 110, 101, 011 +# +# method: +# +# Three ways of going about this come immediately to mind: +# +# 1. we could generate fixed-digit binary representations of +# all numbers within a given range, defined by powers of two. +# This is mathematically elegant by nature, and can be +# performed simply using the format "%0${n}b" with sprintf. +# +# 2. we could, starting with a null string, create a +# bifrucating tree of possibilities by affixing both possible +# characters 0 and 1 to each existing sting in the set until +# the correct length is achieve. This is elegantly wise in +# string use, as it creates the correct respones with no +# knowledge of either binary numbers or mathematics at all. +# +# 3. perhaps one of the most perlish ways to do this would be +# to use wildcard filename expansion using glob. This is +# elegantly perlish +# +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use utf8; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + + + + + +my $n = shift @ARGV // 5; + +## THREE TECHNIQUES + +## 1. using math to find all numbers up to a string of 1s of length $n +## - this upper limit is is 2^n-1 +## - zero padding on the left means the lower limit is simply 0 +say sprintf "%0${n}b", $_ for (0..2**$n-1); + + + +say ''; + +## 2. constructing a tree of strings one digit at a time +## - each string position can ba a 1 or a 0, so for every existing +## string make 2 new ones appending one of these two options, +## repeat until enough positions are generated (strings are long enough) +say for bindigit( $n ); + +sub bindigit ( $target ) { + my @arr = ( 0, 1 ); + @arr = map { $_ . 0, $_ . 1 } @arr for ( 1..$n-1 ); + return @arr; +} + + + +say ''; + +## 3. using a hack of filename expansion +## - dark perl magic +say for glob '{0,1}' x $n; + diff --git a/challenge-193/colin-crain/perl/ch-2.pl b/challenge-193/colin-crain/perl/ch-2.pl new file mode 100755 index 0000000000..91bddaf48b --- /dev/null +++ b/challenge-193/colin-crain/perl/ch-2.pl @@ -0,0 +1,244 @@ +#!/Users/colincrain/perl5/perlbrew/perls/perl-5.32.0/bin/perl +# +# odd-one-out.pl +# +# Odd String +# Submitted by: Mohammad S Anwar +# You are given a list of strings of same length, @s. +# +# Write a script to find the odd string in the given list. Use +# positional value of alphabet starting with 0, i.e. a = 0, b = 1, +# ... z = 25. +# +# Find the difference array for each string as shown in the +# example. Then pick the odd one out. +# +# Example 1: +# Input: @s = ("adc", "wzy", "abc") +# Output: "abc" +# +# Difference array for "adc" => [ d - a, c - d ] +# => [ 3 - 0, 2 - 3 ] +# => [ 3, -1 ] +# +# Difference array for "wzy" => [ z - w, y - z ] +# => [ 25 - 22, 24 - 25 ] +# => [ 3, -1 ] +# +# Difference array for "abc" => [ b - a, c - b ] +# => [ 1 - 0, 2 - 1 ] +# => [ 1, 1 ] +# +# The difference array for "abc" is the odd one. +# +# Example 2: +# Input: @s = ("aaa", "bob", "ccc", "ddd") +# Output: "bob" +# +# Difference array for "aaa" => [ a - a, a - a ] +# => [ 0 - 0, 0 - 0 ] +# => [ 0, 0 ] +# +# Difference array for "bob" => [ o - b, b - o ] +# => [ 14 - 1, 1 - 14 ] +# => [ 13, -13 ] +# +# Difference array for "ccc" => [ c - c, c - c ] +# => [ 2 - 2, 2 - 2 ] +# => [ 0, 0 ] +# +# Difference array for "ddd" => [ d - d, d - d ] +# => [ 3 - 3, 3 - 3 ] +# => [ 0, 0 ] +# +# The difference array for "bob" is the odd one. +# +# +# analysis: +# +# There are three distinct parts of this puzzle. In order of +# appearance, firstly we have an two-part encoding scheme, where we +# take a string as an array of characters, and then convert the +# letters to a numeric equivalent using a fixed mapping. +# +# In the second phase we take one of these encoded arrays and +# calculate what is known as a "difference array", where we note +# the net change between successive elements, using the +# numeric encoding we came up with previously. +# +# Lastly we need a way to compare and categorize these difference +# arrays corresponding to the input strings and find "the odd one +# out". Exactly what this last determination means is left without +# further definition. +# +# We will note, though, that being the odd element out is generally +# in reference to not being part of any group. It's my +# understanding this definition is based in ancient belief systems. +# +# The idea of oddness is very old, going back to Pythagorian mystic +# mathemeticians, who decided numbers divisible by two were good, +# and those not were bad. Parity was born. In any collection of +# items, each element in the set can be paired (good) with another +# (also good). However with an odd number of elements in the set, +# one item will be left over (bad). This, then, the unpairable one, +# would be the odd item. Alone in the world, it is caught driftless, +# without a moral compass, unable to couple, mate or create more +# items. +# +# I believe that is the crux of the matter. +# +# Also, apparently the Pythogorian mystics were unaware of +# parthenogenetic mitosis. +# +# Before continuing I will mention that most of what I just wrote +# is highly speculative as to the origins of even numbers being +# good and odd bad, a topic I have written about before with +# varying degrees of seriousness. I find the subject very +# interesting, albeit odd. See what I did there? The English word +# "odd" comes from the Old Norse *oddi*, which curiously refers a +# triangular point of land, and from that pointy things, and +# suddenly in a more general way to the part in excess of a sum. +# This was extended to "odda-maðr", meaning the third man in the +# context of casting a tiebreaker vote. This last semantic twist is +# limited amongst similar Germanic variants to Old Norse, which is +# interesting. Norse traditions had a lot of practical democracy, +# relatively speaking, in the management of social balance. So the +# creation of a unique term supporting these actions is not +# surprising. I think it stands to reason you will find similar +# patterns surrounding the concept of oddness evolving +# spontaneously back with the creation of numbers themselves, as a +# natural extension of grouping objects. But the time-frame +# of that origin is lost in prehistory. +# +# Ancient numero-analytical mysticism aside, however, we do have a +# real, immediate problem in front of us now with vagaries as to +# the specifics of this concept of displaced oddness. We will need +# to address that. The numerological rabbit-hole will be there +# waiting for us later. +# +# I think the eseential quality here is not not-evenness but rather +# the ungrouped aspect. It thus doesn't matter what the makeup is +# of any larger groupings our candidate is not a part of — these +# may be of any size greater than one. The only criterium is that +# within the set of all such objects the one under inspection +# remains unique. +# +# Another question is what if there is more than one unique +# element? Yea, well who knows? Seriously, there is no explicit +# statement that there can and will be only one. We only have the +# inference we can gather from the tense of the directive to "pick +# the odd one out". + +# In fact, choosing random equal length words as input will be more +# suited to a task of finding words with equal difference sets than a single +# odd one out. We will have to assume the input comes structured in +# a specific way, but we have no idea where these lists come from. +# +# The last part we need to finish the challenge is a method of +# performing a deep numeric analysis of arrays to test for +# equality, disallowing any found from further consideration. In +# short, we need some sort of a unique filter for arrays, only +# allowing things there are only one of. Limiting the values to +# integers as we have done will make this a little easier. +# +# method: +# +# Breaking the task down as we have done will require three +# routines and some sort of framework to call them. +# +# The initial encoding is pretty straightforward, and +# possibly could be rolled up inline with the later processing, but +# for clrity we will keep it separate. This whole process is in +# danger of becoming compliated enough already without making the +# code unnecessarily dense. +# +# Likewise the function for creating an array of deltas from a and +# encoded array. +# +# As we're looking for *strings* without matching *difference +# arrays*, these ideas are linked in a hash table. We can then +# iterate through these pairs and count the frequencies of the +# difference arrays by constructing a unique stringified key from +# the data. This is accomplished by separating the integers with +# the colon character. At the same time we'll construct another +# hash using these keys to point back to their original string +# antecedents. +# +# "But wait!" You might say. Those stringified keys aren't unique! +# You'll overwrite the strings! This is a very good point. But the +# thing is: we don't care. Any overwritten values will never be +# used anyway as they will refer to non-unique differences. So +# please settle down. Everything is going to be all right. +# +# A consequence of doing things this way is it becomes +# straightforward to allow for multiple unique strings, which are +# returned as an array. + + + + + + +# © 2022 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use utf8; +use feature ":5.26"; +use feature qw(signatures); +no warnings 'experimental::signatures'; + + + + +my @s = @ARGV; +@s == 0 and @s = ("aaa", "bob", "ccc", "ddd", 'ray'); + + +say for odd_man_out( @s ); + + +sub odd_man_out ( @strings ) { +## a procedural wrapper for find_unique_strings(), setting up the correct input + my %input_hash; + $input_hash{$_} = difference_array( encode($_) ) for @strings; + + return find_unique_strings( %input_hash ); +} + +sub find_unique_strings( %string_hash ) { +## given a hash of strings to their difference arrays, +## finds all strings with a difference map frequency of 1 and returns them + my %freq; + my %rev_lookup; ## %freq keys to original strings + while ( my ($str, $arr) = each %string_hash ) { + my $key = join ':', $arr->@*; + $freq{$key}++; + $rev_lookup{$key} = $str; + } + + my @singles = grep { $freq{$_} == 1 } keys %freq; + return map { $rev_lookup{$_} } @singles; +} + +sub difference_array ( $aref ) { +## given an array of numeric elements, compute and return the +## array of differences between successive elements + my @out; + push @out, $aref->[$_] - $aref->[$_-1] for 1..$aref->$#*; + return \@out; +} + +sub encode ( $str ) { +## convert a string into an array of digits, mapped to the +## lowercase alphabet starting at 0. +## a => 0, b => 1, ... z => 25 + return [ map { ord($_)-97 } split '', lc($str) ] +} + + + + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index bc8ca5ec20..398bc81a9f 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,56 +1,87 @@ { + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 36] Last updated at 2022-12-05 02:56:52 GMT" + }, + "chart" : { + "type" : "column" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
" + }, + "title" : { + "text" : "The Weekly Challenge - 193" + }, "xAxis" : { "type" : "category" }, "series" : [ { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 193", "data" : [ { + "drilldown" : "Adam Russell", "name" : "Adam Russell", - "y" : 4, - "drilldown" : "Adam Russell" + "y" : 4 }, { - "name" : "Arne Sommer", "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", "y" : 3 }, { "name" : "Athanasius", - "y" : 4, - "drilldown" : "Athanasius" + "drilldown" : "Athanasius", + "y" : 4 }, { - "drilldown" : "Bruce Gray", "y" : 5, + "drilldown" : "Bruce Gray", "name" : "Bruce Gray" }, { - "name" : "Dario Mazzeo", + "y" : 3, + "name" : "Colin Crain", + "drilldown" : "Colin Crain" + }, + { + "y" : 1, "drilldown" : "Dario Mazzeo", - "y" : 1 + "name" : "Dario Mazzeo" }, { - "drilldown" : "Dave Jacoby", "y" : 2, - "name" : "Dave Jacoby" + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" }, { - "y" : 2, "drilldown" : "David Ferrone", - "name" : "David Ferrone" + "name" : "David Ferrone", + "y" : 2 }, { - "name" : "Duncan C. White", "drilldown" : "Duncan C. White", + "name" : "Duncan C. White", "y" : 2 }, { + "name" : "E. Choroba", "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" + "y" : 2 }, { "y" : 2, @@ -58,94 +89,94 @@ "name" : "Feng Chang" }, { + "y" : 6, "name" : "Flavio Poletti", - "drilldown" : "Flavio Poletti", - "y" : 6 + "drilldown" : "Flavio Poletti" }, { "name" : "James Smith", - "y" : 3, - "drilldown" : "James Smith" + "drilldown" : "James Smith", + "y" : 3 }, { - "drilldown" : "Jan Krnavek", "y" : 2, - "name" : "Jan Krnavek" + "name" : "Jan Krnavek", + "drilldown" : "Jan Krnavek" }, { - "drilldown" : "Jen Guerra", "y" : 1, - "name" : "Jen Guerra" + "name" : "Jen Guerra", + "drilldown" : "Jen Guerra" }, { - "name" : "Jorg Sommrey", "y" : 2, + "name" : "Jorg Sommrey", "drilldown" : "Jorg Sommrey" }, { - "name" : "Kueppo Wesley", "y" : 2, + "name" : "Kueppo Wesley", "drilldown" : "Kueppo Wesley" }, { + "y" : 5, "name" : "Laurent Rosenfeld", - "drilldown" : "Laurent Rosenfeld", - "y" : 5 + "drilldown" : "Laurent Rosenfeld" }, { + "y" : 8, "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari", - "y" : 8 + "drilldown" : "Luca Ferrari" }, { + "name" : "Mark Anderson", "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" + "y" : 2 }, { - "name" : "Mohammad S Anwar", "y" : 1, - "drilldown" : "Mohammad S Anwar" + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { "drilldown" : "Niels van Dijke", - "y" : 2, - "name" : "Niels van Dijke" + "name" : "Niels van Dijke", + "y" : 2 }, { - "y" : 1, "drilldown" : "Olivier Delouya", - "name" : "Olivier Delouya" + "name" : "Olivier Delouya", + "y" : 1 }, { + "y" : 3, "name" : "Peter Campbell Smith", - "drilldown" : "Peter Campbell Smith", - "y" : 3 + "drilldown" : "Peter Campbell Smith" }, { + "drilldown" : "Robbie Hatley", "name" : "Robbie Hatley", - "y" : 2, - "drilldown" : "Robbie Hatley" + "y" : 2 }, { + "name" : "Robert DiCicco", "drilldown" : "Robert DiCicco", - "y" : 3, - "name" : "Robert DiCicco" + "y" : 3 }, { + "drilldown" : "Robert Ransbottom", "name" : "Robert Ransbottom", - "y" : 2, - "drilldown" : "Robert Ransbottom" + "y" : 2 }, { - "name" : "Roger Bell_West", + "y" : 5, "drilldown" : "Roger Bell_West", - "y" : 5 + "name" : "Roger Bell_West" }, { - "y" : 3, "drilldown" : "Simon Green", - "name" : "Simon Green" + "name" : "Simon Green", + "y" : 3 }, { "name" : "Simon Proctor", @@ -153,62 +184,46 @@ "y" : 1 }, { - "y" : 2, "drilldown" : "Solathian", - "name" : "Solathian" + "name" : "Solathian", + "y" : 2 }, { "drilldown" : "Stephen G. Lynn", - "y" : 5, - "name" : "Stephen G. Lynn" + "name" : "Stephen G. Lynn", + "y" : 5 }, { - "y" : 2, "drilldown" : "Thomas Kohler", - "name" : "Thomas Kohler" + "name" : "Thomas Kohler", + "y" : 2 }, { - "y" : 4, "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "y" : 4 }, { - "name" : "Vamsi Meenavilli", "y" : 2, - "drilldown" : "Vamsi Meenavilli" + "drilldown" : "Vamsi Meenavilli", + "name" : "Vamsi Meenavilli" }, { "y" : 3, - "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" } - ] + ], + "name" : "The Weekly Challenge - 193", + "colorByPoint" : 1 } ], - "subtitle" : { - "text" : "[Champions: 35] Last updated at 2022-12-05 01:52:04 GMT" - }, - "tooltip" : { - "followPointer" : 1, - "pointFormat" : "{point.name}: {point.y:f}
", - "headerFormat" : "{series.name}
" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "chart" : { - "type" : "column" + "legend" : { + "enabled" : 0 }, "drilldown" : { "series" : [ { - "id" : "Adam Russell", "data" : [ [ "Perl", @@ -219,10 +234,10 @@ 2 ] ], + "id" : "Adam Russell", "name" : "Adam Russell" }, { - "name" : "Arne Sommer", "data" : [ [ "Raku", @@ -233,9 +248,12 @@ 1 ] ], - "id" : "Arne Sommer" + "id" : "Arne Sommer", + "name" : "Arne Sommer" }, { + "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -245,9 +263,7 @@ "Raku", 2 ] - ], - "id" : "Athanasius", - "name" : "Athanasius" + ] }, { "data" : [ @@ -271,11 +287,25 @@ "data" : [ [ "Perl", + 2 + ], + [ + "Blog", 1 ] ], + "name" : "Colin Crain", + "id" : "Colin Crain" + }, + { + "name" : "Dario Mazzeo", "id" : "Dario Mazzeo", - "name" : "Dario Mazzeo" + "data" : [ + [ + "Perl", + 1 + ] + ] }, { "name" : "Dave Jacoby", @@ -288,48 +318,46 @@ ] }, { - "id" : "David Ferrone", "data" : [ [ "Perl", 2 ] ], - "name" : "David Ferrone" + "name" : "David Ferrone", + "id" : "David Ferrone" }, { + "id" : "Duncan C. White", "name" : "Duncan C. White", "data" : [ [ "Perl", 2 ] - ], - "id" : "Duncan C. White" + ] }, { + "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba" + ] }, { - "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] ], - "id" : "Feng Chang" + "id" : "Feng Chang", + "name" : "Feng Chang" }, { - "name" : "Flavio Poletti", - "id" : "Flavio Poletti", "data" : [ [ "Perl", @@ -343,9 +371,12 @@ "Blog", 2 ] - ] + ], + "name" : "Flavio Poletti", + "id" : "Flavio Poletti" }, { + "name" : "James Smith", "id" : "James Smith", "data" : [ [ @@ -356,48 +387,47 @@ "Blog", 1 ] - ], - "name" : "James Smith" + ] }, { "name" : "Jan Krnavek", + "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ], - "id" : "Jan Krnavek" + ] }, { + "name" : "Jen Guerra", "id" : "Jen Guerra", "data" : [ [ "Perl", 1 ] - ], - "name" : "Jen Guerra" + ] }, { + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey" + ] }, { - "id" : "Kueppo Wesley", "data" : [ [ "Perl", 2 ] ], - "name" : "Kueppo Wesley" + "name" : "Kueppo Wesley", + "id" : "Kueppo Wesley" }, { "data" : [ @@ -414,10 +444,11 @@ 1 ] ], - "id" : "Laurent Rosenfeld", - "name" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" }, { + "id" : "Luca Ferrari", "name" : "Luca Ferrari", "data" : [ [ @@ -428,37 +459,36 @@ "Blog", 6 ] - ], - "id" : "Luca Ferrari" + ] }, { - "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "name" : "Mohammad S Anwar", "data" : [ [ "Perl", 1 ] ], - "id" : "Mohammad S Anwar" + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { - "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], + "name" : "Niels van Dijke", "id" : "Niels van Dijke" }, { @@ -468,11 +498,12 @@ 1 ] ], - "id" : "Olivier Delouya", - "name" : "Olivier Delouya" + "name" : "Olivier Delouya", + "id" : "Olivier Delouya" }, { "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -482,21 +513,21 @@ "Blog", 1 ] - ], - "name" : "Peter Campbell Smith" + ] }, { + "id" : "Robbie Hatley", "name" : "Robbie Hatley", "data" : [ [ "Perl", 2 ] - ], - "id" : "Robbie Hatley" + ] }, { "name" : "Robert DiCicco", + "id" : "Robert DiCicco", "data" : [ [ "Perl", @@ -506,22 +537,19 @@ "Raku", 2 ] - ], - "id" : "Robert DiCicco" + ] }, { - "name" : "Robert Ransbottom", - "id" : "Robert Ransbottom", "data" : [ [ "Raku", 2 ] - ] + ], + "name" : "Robert Ransbottom", + "id" : "Robert Ransbottom" }, { - "name" : "Roger Bell_West", - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -535,10 +563,11 @@ "Blog", 1 ] - ] + ], + "id" : "Roger Bell_West", + "name" : "Roger Bell_West" }, { - "name" : "Simon Green", "data" : [ [ "Perl", @@ -549,11 +578,12 @@ 1 ] ], - "id" : "Simon Green" + "id" : "Simon Green", + "name" : "Simon Green" }, { - "name" : "Simon Proctor", "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Raku", @@ -568,12 +598,10 @@ 2 ] ], - "id" : "Solathian", - "name" : "Solathian" + "name" : "Solathian", + "id" : "Solathian" }, { - "name" : "Stephen G. Lynn", - "id" : "Stephen G. Lynn", "data" : [ [ "Perl", @@ -587,20 +615,23 @@ "Blog", 1 ] - ] + ], + "id" : "Stephen G. Lynn", + "name" : "Stephen G. Lynn" }, { - "name" : "Thomas Kohler", - "id" : "Thomas Kohler", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Thomas Kohler", + "id" : "Thomas Kohler" }, { "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -610,20 +641,20 @@ "Raku", 2 ] - ], - "id" : "Ulrich Rieke" + ] }, { + "id" : "Vamsi Meenavilli", + "name" : "Vamsi Meenavilli", "data" : [ [ "Perl", 2 ] - ], - "id" : "Vamsi Meenavilli", - "name" : "Vamsi Meenavilli" + ] }, { + "name" : "W. Luis Mochan", "id" : "W. Luis Mochan", "data" : [ [ @@ -634,20 +665,8 @@ "Blog", 1 ] - ], - "name" : "W. Luis Mochan" + ] } ] - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "title" : { - "text" : "The Weekly Challenge - 193" - }, - "legend" : { - "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 24f179a750..b922e0c5cc 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,17 +1,24 @@ { - "chart" : { - "type" : "column" + "tooltip" : { + "pointFormat" : "{point.y:.0f}" + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" + }, + "legend" : { + "enabled" : "false" }, "series" : [ { + "name" : "Contributions", "data" : [ [ "Blog", - 3077 + 3078 ], [ "Perl", - 9479 + 9481 ], [ "Raku", @@ -19,18 +26,17 @@ ] ], "dataLabels" : { - "color" : "#FFFFFF", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "format" : "{point.y:.0f}", "y" : 10, "align" : "right", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "color" : "#FFFFFF", "rotation" : -90, - "enabled" : "true" - }, - "name" : "Contributions" + "enabled" : "true", + "format" : "{point.y:.0f}" + } } ], "xAxis" : { @@ -42,22 +48,16 @@ }, "type" : "category" }, - "subtitle" : { - "text" : "Last updated at 2022-12-05 01:52:04 GMT" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, - "legend" : { - "enabled" : "false" - }, "yAxis" : { "title" : { "text" : null }, "min" : 0 + }, + "subtitle" : { + "text" : "Last updated at 2022-12-05 02:56:52 GMT" + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 5437b6f65f..8571b20f4c 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,31 +1,49 @@ { - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true", - "headerFormat" : "" + "chart" : { + "type" : "column" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-12-05 01:52:04 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-12-05 02:56:52 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : "false" }, "series" : [ { - "colorByPoint" : "true", "name" : "The Weekly Challenge Languages", + "colorByPoint" : "true", "data" : [ { "name" : "#001", - "y" : 161, - "drilldown" : "001" + "drilldown" : "001", + "y" : 161 }, { "y" : 125, - "drilldown" : "002", - "name" : "#002" + "name" : "#002", + "drilldown" : "002" }, { - "name" : "#003", + "y" : 83, "drilldown" : "003", - "y" : 83 + "name" : "#003" }, { "name" : "#004", @@ -33,14 +51,14 @@ "y" : 99 }, { - "name" : "#005", "y" : 78, + "name" : "#005", "drilldown" : "005" }, { - "name" : "#006", + "y" : 58, "drilldown" : "006", - "y" : 58 + "name" : "#006" }, { "name" : "#007", @@ -49,43 +67,43 @@ }, { "name" : "#008", - "y" : 78, - "drilldown" : "008" + "drilldown" : "008", + "y" : 78 }, { - "name" : "#009", "drilldown" : "009", + "name" : "#009", "y" : 76 }, { - "name" : "#010", + "y" : 65, "drilldown" : "010", - "y" : 65 + "name" : "#010" }, { - "y" : 85, + "name" : "#011", "drilldown" : "011", - "name" : "#011" + "y" : 85 }, { + "y" : 89, "name" : "#012", - "drilldown" : "012", - "y" : 89 + "drilldown" : "012" }, { - "y" : 85, + "name" : "#013", "drilldown" : "013", - "name" : "#013" + "y" : 85 }, { + "y" : 101, "name" : "#014", - "drilldown" : "014", - "y" : 101 + "drilldown" : "014" }, { - "name" : "#015", + "y" : 99, "drilldown" : "015", - "y" : 99 + "name" : "#015" }, { "name" : "#016", @@ -94,13 +112,13 @@ }, { "y" : 84, - "drilldown" : "017", - "name" : "#017" + "name" : "#017", + "drilldown" : "017" }, { + "y" : 81, "name" : "#018", - "drilldown" : "018", - "y" : 81 + "drilldown" : "018" }, { "y" : 103, @@ -108,73 +126,73 @@ "name" : "#019" }, { - "y" : 101, + "name" : "#020", "drilldown" : "020", - "name" : "#020" + "y" : 101 }, { - "name" : "#021", "drilldown" : "021", + "name" : "#021", "y" : 72 }, { + "y" : 68, "name" : "#022", - "drilldown" : "022", - "y" : 68 + "drilldown" : "022" }, { "drilldown" : "023", - "y" : 97, - "name" : "#023" + "name" : "#023", + "y" : 97 }, { + "name" : "#024", "drilldown" : "024", - "y" : 75, - "name" : "#024" + "y" : 75 }, { - "y" : 59, "drilldown" : "025", - "name" : "#025" + "name" : "#025", + "y" : 59 }, { "name" : "#026", - "y" : 74, - "drilldown" : "026" + "drilldown" : "026", + "y" : 74 }, { "name" : "#027", - "y" : 62, - "drilldown" : "027" + "drilldown" : "027", + "y" : 62 }, { "name" : "#028", - "y" : 82, - "drilldown" : "028" + "drilldown" : "028", + "y" : 82 }, { "drilldown" : "029", - "y" : 81, - "name" : "#029" + "name" : "#029", + "y" : 81 }, { "drilldown" : "030", - "y" : 119, - "name" : "#030" + "name" : "#030", + "y" : 119 }, { - "name" : "#031", "y" : 91, - "drilldown" : "031" + "drilldown" : "031", + "name" : "#031" }, { + "name" : "#032", "drilldown" : "032", - "y" : 96, - "name" : "#032" + "y" : 96 }, { - "drilldown" : "033", "y" : 112, + "drilldown" : "033", "name" : "#033" }, { @@ -188,14 +206,14 @@ "name" : "#035" }, { - "y" : 70, "drilldown" : "036", - "name" : "#036" + "name" : "#036", + "y" : 70 }, { - "y" : 69, "drilldown" : "037", - "name" : "#037" + "name" : "#037", + "y" : 69 }, { "y" : 70, @@ -203,9 +221,9 @@ "name" : "#038" }, { - "name" : "#039", "y" : 64, - "drilldown" : "039" + "drilldown" : "039", + "name" : "#039" }, { "y" : 75, @@ -213,8 +231,8 @@ "name" : "#040" }, { - "name" : "#041", "y" : 78, + "name" : "#041", "drilldown" : "041" }, { @@ -223,134 +241,134 @@ "y" : 94 }, { + "y" : 70, "name" : "#043", - "drilldown" : "043", - "y" : 70 + "drilldown" : "043" }, { - "drilldown" : "044", "y" : 87, + "drilldown" : "044", "name" : "#044" }, { - "drilldown" : "045", "y" : 98, + "drilldown" : "045", "name" : "#045" }, { - "drilldown" : "046", "y" : 89, - "name" : "#046" + "name" : "#046", + "drilldown" : "046" }, { - "drilldown" : "047", "y" : 86, + "drilldown" : "047", "name" : "#047" }, { + "name" : "#048", "drilldown" : "048", - "y" : 110, - "name" : "#048" + "y" : 110 }, { - "name" : "#049", "drilldown" : "049", + "name" : "#049", "y" : 91 }, { + "name" : "#050", "drilldown" : "050", - "y" : 100, - "name" : "#050" + "y" : 100 }, { + "drilldown" : "051", "name" : "#051", - "y" : 91, - "drilldown" : "051" + "y" : 91 }, { + "y" : 93, "name" : "#052", - "drilldown" : "052", - "y" : 93 + "drilldown" : "052" }, { - "drilldown" : "053", "y" : 103, - "name" : "#053" + "name" : "#053", + "drilldown" : "053" }, { - "name" : "#054", + "y" : 105, "drilldown" : "054", - "y" : 105 + "name" : "#054" }, { - "drilldown" : "055", "y" : 90, + "drilldown" : "055", "name" : "#055" }, { "y" : 97, - "drilldown" : "056", - "name" : "#056" + "name" : "#056", + "drilldown" : "056" }, { - "name" : "#057", "drilldown" : "057", + "name" : "#057", "y" : 82 }, { + "y" : 71, "name" : "#058", - "drilldown" : "058", - "y" : 71 + "drilldown" : "058" }, { - "y" : 91, "drilldown" : "059", - "name" : "#059" + "name" : "#059", + "y" : 91 }, { - "drilldown" : "060", "y" : 87, + "drilldown" : "060", "name" : "#060" }, { - "name" : "#061", + "y" : 83, "drilldown" : "061", - "y" : 83 + "name" : "#061" }, { + "name" : "#062", "drilldown" : "062", - "y" : 60, - "name" : "#062" + "y" : 60 }, { - "drilldown" : "063", "y" : 91, - "name" : "#063" + "name" : "#063", + "drilldown" : "063" }, { "y" : 82, - "drilldown" : "064", - "name" : "#064" + "name" : "#064", + "drilldown" : "064" }, { "y" : 75, - "drilldown" : "065", - "name" : "#065" + "name" : "#065", + "drilldown" : "065" }, { + "name" : "#066", "drilldown" : "066", - "y" : 86, - "name" : "#066" + "y" : 86 }, { - "name" : "#067", "y" : 92, - "drilldown" : "067" + "drilldown" : "067", + "name" : "#067" }, { "y" : 77, - "drilldown" : "068", - "name" : "#068" + "name" : "#068", + "drilldown" : "068" }, { "name" : "#069", @@ -358,23 +376,23 @@ "y" : 85 }, { - "name" : "#070", + "y" : 95, "drilldown" : "070", - "y" : 95 + "name" : "#070" }, { - "y" : 80, + "name" : "#071", "drilldown" : "071", - "name" : "#071" + "y" : 80 }, { - "y" : 114, + "name" : "#072", "drilldown" : "072", - "name" : "#072" + "y" : 114 }, { - "drilldown" : "073", "y" : 112, + "drilldown" : "073", "name" : "#073" }, { @@ -384,12 +402,12 @@ }, { "y" : 117, - "drilldown" : "075", - "name" : "#075" + "name" : "#075", + "drilldown" : "075" }, { - "name" : "#076", "y" : 101, + "name" : "#076", "drilldown" : "076" }, { @@ -398,9 +416,9 @@ "y" : 100 }, { - "drilldown" : "078", "y" : 127, - "name" : "#078" + "name" : "#078", + "drilldown" : "078" }, { "y" : 122, @@ -408,14 +426,14 @@ "name" : "#079" }, { - "drilldown" : "080", "y" : 127, - "name" : "#080" + "name" : "#080", + "drilldown" : "080" }, { - "y" : 114, + "name" : "#081", "drilldown" : "081", - "name" : "#081" + "y" : 114 }, { "name" : "#082", @@ -423,59 +441,59 @@ "y" : 114 }, { - "y" : 127, "drilldown" : "083", - "name" : "#083" + "name" : "#083", + "y" : 127 }, { + "y" : 119, "name" : "#084", - "drilldown" : "084", - "y" : 119 + "drilldown" : "084" }, { - "drilldown" : "085", "y" : 114, + "drilldown" : "085", "name" : "#085" }, { - "drilldown" : "086", "y" : 104, - "name" : "#086" + "name" : "#086", + "drilldown" : "086" }, { - "name" : "#087", "y" : 101, - "drilldown" : "087" + "drilldown" : "087", + "name" : "#087" }, { + "name" : "#088", "drilldown" : "088", - "y" : 121, - "name" : "#088" + "y" : 121 }, { "drilldown" : "089", - "y" : 113, - "name" : "#089" + "name" : "#089", + "y" : 113 }, { + "y" : 113, "name" : "#090", - "drilldown" : "090", - "y" : 113 + "drilldown" : "090" }, { - "name" : "#091", "y" : 108, + "name" : "#091", "drilldown" : "091" }, { + "y" : 98, "name" : "#092", - "drilldown" : "092", - "y" : 98 + "drilldown" : "092" }, { + "drilldown" : "093", "name" : "#093", - "y" : 87, - "drilldown" : "093" + "y" : 87 }, { "y" : 87, @@ -483,24 +501,24 @@ "name" : "#094" }, { - "name" : "#095", + "y" : 108, "drilldown" : "095", - "y" : 108 + "name" : "#095" }, { - "y" : 108, + "name" : "#096", "drilldown" : "096", - "name" : "#096" + "y" : 108 }, { - "name" : "#097", "drilldown" : "097", + "name" : "#097", "y" : 111 }, { "name" : "#098", - "y" : 108, - "drilldown" : "098" + "drilldown" : "098", + "y" : 108 }, { "y" : 97, @@ -513,44 +531,44 @@ "name" : "#100" }, { + "drilldown" : "101", "name" : "#101", - "y" : 83, - "drilldown" : "101" + "y" : 83 }, { - "name" : "#102", "y" : 90, - "drilldown" : "102" + "drilldown" : "102", + "name" : "#102" }, { "drilldown" : "103", - "y" : 79, - "name" : "#103" + "name" : "#103", + "y" : 79 }, { - "name" : "#104", "y" : 85, - "drilldown" : "104" + "drilldown" : "104", + "name" : "#104" }, { - "name" : "#105", "y" : 75, + "name" : "#105", "drilldown" : "105" }, { "name" : "#106", - "y" : 97, - "drilldown" : "106" + "drilldown" : "106", + "y" : 97 }, { "y" : 90, - "drilldown" : "107", - "name" : "#107" + "name" : "#107", + "drilldown" : "107" }, { "drilldown" : "108", - "y" : 94, - "name" : "#108" + "name" : "#108", + "y" : 94 }, { "y" : 107, @@ -558,54 +576,54 @@ "name" : "#109" }, { + "name" : "#110", "drilldown" : "110", - "y" : 108, - "name" : "#110" + "y" : 108 }, { "drilldown" : "111", - "y" : 91, - "name" : "#111" + "name" : "#111", + "y" : 91 }, { + "name" : "#112", "drilldown" : "112", - "y" : 92, - "name" : "#112" + "y" : 92 }, { - "drilldown" : "113", "y" : 92, + "drilldown" : "113", "name" : "#113" }, { - "drilldown" : "114", "y" : 108, - "name" : "#114" + "name" : "#114", + "drilldown" : "114" }, { + "drilldown" : "115", "name" : "#115", - "y" : 96, - "drilldown" : "115" + "y" : 96 }, { + "name" : "#116", "drilldown" : "116", - "y" : 95, - "name" : "#116" + "y" : 95 }, { "y" : 97, - "drilldown" : "117", - "name" : "#117" + "name" : "#117", + "drilldown" : "117" }, { - "drilldown" : "118", "y" : 83, + "drilldown" : "118", "name" : "#118" }, { - "name" : "#119", "y" : 125, - "drilldown" : "119" + "drilldown" : "119", + "name" : "#119" }, { "name" : "#120", @@ -613,14 +631,14 @@ "y" : 116 }, { - "y" : 92, "drilldown" : "121", - "name" : "#121" + "name" : "#121", + "y" : 92 }, { - "drilldown" : "122", "y" : 110, - "name" : "#122" + "name" : "#122", + "drilldown" : "122" }, { "y" : 105, @@ -628,59 +646,59 @@ "name" : "#123" }, { - "name" : "#124", "drilldown" : "124", + "name" : "#124", "y" : 85 }, { "drilldown" : "125", - "y" : 63, - "name" : "#125" + "name" : "#125", + "y" : 63 }, { "y" : 113, - "drilldown" : "126", - "name" : "#126" + "name" : "#126", + "drilldown" : "126" }, { - "name" : "#127", "y" : 110, + "name" : "#127", "drilldown" : "127" }, { - "name" : "#128", "y" : 71, + "name" : "#128", "drilldown" : "128" }, { - "name" : "#129", "y" : 50, + "name" : "#129", "drilldown" : "129" }, { + "y" : 73, "name" : "#130", - "drilldown" : "130", - "y" : 73 + "drilldown" : "130" }, { - "y" : 91, "drilldown" : "131", - "name" : "#131" + "name" : "#131", + "y" : 91 }, { + "name" : "#132", "drilldown" : "132", - "y" : 78, - "name" : "#132" + "y" : 78 }, { - "name" : "#133", "y" : 95, + "name" : "#133", "drilldown" : "133" }, { "drilldown" : "134", - "y" : 94, - "name" : "#134" + "name" : "#134", + "y" : 94 }, { "name" : "#135", @@ -688,29 +706,29 @@ "y" : 104 }, { - "drilldown" : "136", "y" : 95, - "name" : "#136" + "name" : "#136", + "drilldown" : "136" }, { - "name" : "#137", "drilldown" : "137", + "name" : "#137", "y" : 100 }, { "drilldown" : "138", - "y" : 102, - "name" : "#138" + "name" : "#138", + "y" : 102 }, { - "name" : "#139", "y" : 97, + "name" : "#139", "drilldown" : "139" }, { "name" : "#140", - "y" : 103, - "drilldown" : "140" + "drilldown" : "140", + "y" : 103 }, { "name" : "#141", @@ -723,18 +741,18 @@ "y" : 83 }, { + "drilldown" : "143", "name" : "#143", - "y" : 81, - "drilldown" : "143" + "y" : 81 }, { "y" : 86, - "drilldown" : "144", - "name" : "#144" + "name" : "#144", + "drilldown" : "144" }, { - "name" : "#145", "y" : 93, + "name" : "#145", "drilldown" : "145" }, { @@ -748,74 +766,74 @@ "name" : "#147" }, { - "drilldown" : "148", "y" : 92, - "name" : "#148" + "name" : "#148", + "drilldown" : "148" }, { - "name" : "#149", "y" : 88, - "drilldown" : "149" + "drilldown" : "149", + "name" : "#149" }, { - "name" : "#150", "y" : 108, + "name" : "#150", "drilldown" : "150" }, { + "drilldown" : "151", "name" : "#151", - "y" : 77, - "drilldown" : "151" + "y" : 77 }, { - "name" : "#152", "y" : 80, + "name" : "#152", "drilldown" : "152" }, { - "name" : "#153", + "y" : 97, "drilldown" : "153", - "y" : 97 + "name" : "#153" }, { "name" : "#154", - "y" : 108, - "drilldown" : "154" + "drilldown" : "154", + "y" : 108 }, { - "name" : "#155", "y" : 99, + "name" : "#155", "drilldown" : "155" }, { + "y" : 98, "name" : "#156", - "drilldown" : "156", - "y" : 98 + "drilldown" : "156" }, { - "name" : "#157", + "y" : 97, "drilldown" : "157", - "y" : 97 + "name" : "#157" }, { - "y" :