From c44e1fabcd3e8d21fb9d5e38ce36e48d66bdb154 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 30 Aug 2020 22:23:06 +0100 Subject: - Added solutions by Colin Crain. --- challenge-075/colin-crain/perl/ch-1.pl | 100 +++ challenge-075/colin-crain/perl/ch-2.pl | 139 ++++ challenge-075/colin-crain/raku/ch-1.raku | 89 +++ challenge-075/colin-crain/raku/ch-2.raku | 130 ++++ stats/pwc-current.json | 530 +++++++------- stats/pwc-language-breakdown-summary.json | 80 +-- stats/pwc-language-breakdown.json | 1076 ++++++++++++++--------------- stats/pwc-leaders.json | 730 +++++++++---------- stats/pwc-summary-1-30.json | 110 +-- stats/pwc-summary-121-150.json | 28 +- stats/pwc-summary-151-180.json | 108 +-- stats/pwc-summary-181-210.json | 56 +- stats/pwc-summary-31-60.json | 44 +- stats/pwc-summary-61-90.json | 28 +- stats/pwc-summary-91-120.json | 104 +-- stats/pwc-summary.json | 22 +- 16 files changed, 1920 insertions(+), 1454 deletions(-) create mode 100644 challenge-075/colin-crain/perl/ch-1.pl create mode 100644 challenge-075/colin-crain/perl/ch-2.pl create mode 100644 challenge-075/colin-crain/raku/ch-1.raku create mode 100644 challenge-075/colin-crain/raku/ch-2.raku diff --git a/challenge-075/colin-crain/perl/ch-1.pl b/challenge-075/colin-crain/perl/ch-1.pl new file mode 100644 index 0000000000..acc48f6524 --- /dev/null +++ b/challenge-075/colin-crain/perl/ch-1.pl @@ -0,0 +1,100 @@ +#! /opt/local/bin/perl +# +# change_is_gonna_come.pl +# +# TASK #1 › Coins Sum +# Submitted by: Mohammad S Anwar +# You are given a set of coins @C, assuming you have infinite amount of each coin in the set. +# +# Write a script to find how many ways you make sum $S using the coins from the set @C. +# +# Example: +# Input: +# @C = (1, 2, 4) +# $S = 6 +# +# Output: 6 +# There are 6 possible ways to make sum 6. +# a) (1, 1, 1, 1, 1, 1) +# b) (1, 1, 1, 1, 2) +# c) (1, 1, 2, 2) +# d) (1, 1, 4) +# e) (2, 2, 2) +# f) (2, 4) +# +# method: +# Recursive routine that diminishes the options available in the +# coin bag as the total anount remaining decreases. Builds a +# branching tree of coin groupings until no more coins can be used +# or remaining amount to be tendered is 0. +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +use warnings; +use strict; +use feature ":5.26"; + +## ## ## ## ## MAIN: + +## in +my $S = shift @ARGV // 27; +our @coins = sort { $a <=> $b} @ARGV; +@coins = (2,5,10,25) if ! @ARGV; +our @solutions; + +## work +get_coin_groups($S); + +## out +print_output(\@solutions); + +## ## ## ## ## SUBS: + +sub get_coin_groups { + my ($amt, $group, $bag) = @_; + $group //= []; + $bag //= \@coins; + + ## base case, cashed out + if ($amt == 0) { + push @solutions, $group; + return; + } + + ## limit coin bag to those smaller or equal to the current amount + my @coin_bag = grep { $_ <= $amt } $bag->@*; + + ## edge case, cannot complete group with remaining coins + if (@coin_bag == 0) { + return; + } + + for my $coin ( @coin_bag ) { + ## limit coin bag to this coin or smaller + ## keeps groups ordered and disallows duplicate rearrangements + my @smaller_coin_bag = grep { $_ <= $coin } $bag->@*; + get_coin_groups( $amt - $coin, [@$group, $coin], \@smaller_coin_bag ); + } +} + +sub print_output { +use Lingua::EN::Inflexion; + my ($output, $sum ) = @_; + my $count = scalar $output->@*; + + say<<"__EOD__"; +Input: + \@C = (@coins) + \$S = $S +__EOD__ + + say "Output: $count"; + my $str = inflect("<#d:$count>There <#wnc:$count> possible to make the sum $S."); + say $str; + + my @letter_prefixes = ('a'..'z', 'aa'..'zz'); + say "\t", shift @letter_prefixes, ') (', (join ', ', $_->@*), ')' for @solutions; + +} + diff --git a/challenge-075/colin-crain/perl/ch-2.pl b/challenge-075/colin-crain/perl/ch-2.pl new file mode 100644 index 0000000000..d09c971d5c --- /dev/null +++ b/challenge-075/colin-crain/perl/ch-2.pl @@ -0,0 +1,139 @@ +#! /opt/local/bin/perl +# +# 75_2_windows_wide_open.pl +# +# TASK #2 › Largest Rectangle Histogram +# Submitted by: Mohammad S Anwar +# You are given an array of positive numbers @A. +# +# Write a script to find the larget rectangle histogram created by the +# given array. +# +# BONUS: Try to print the histogram as shown in the example, if +# possible. +# +# Example 1: +# +# Input: @A = (2, 1, 4, 5, 3, 7) +# 7 # +# 6 # +# 5 # # +# 4 # # # +# 3 # # # # +# 2 # # # # # +# 1 # # # # # # +# _ _ _ _ _ _ _ +# 2 1 4 5 3 7 +# +# Looking at the above histogram, the largest rectangle (4 x 3) is +# formed by columns (4, 5, 3 and 7). +# +# Output: 12 +# +# Example 2: +# +# Input: @A = (3, 2, 3, 5, 7, 5) +# 7 # +# 6 # +# 5 # # # +# 4 # # # +# 3 # # # # # +# 2 # # # # # # +# 1 # # # # # # +# _ _ _ _ _ _ _ +# 3 2 3 5 7 5 +# Looking at the above histogram, the largest rectangle (3 x 5) is +# formed by columns (5, 7 and 5). +# +# Output: 15 +# +# +## ## ## ## ## +# +# method: +# The rectangular area under a range is defined by the minimum value +# within that range and the width of the span. +# +# So by looking at each range set within the bounds of the array, we +# can find the corresponding minimum; multiplying that by the width +# of the window gives us the area of the rectangle. +# +# We are asked to find the maximum rectangle, but if we wish to +# allow for multiple equal areas, outputting all values, we need +# to keep all the rectangle data and review it before reporting. We +# can keep everything in an array of arrays, with a structure for +# [Area, Start, End, Height] and descending sort by area. Take the +# first value and compare to the next until it differs; these will +# be the maximum rectangles. +# +# We will choose to not consider a single data point to be a proper +# rectangle, more like a line, so in altering the input of example +# number 2 to the list (3, 2, 3, 5, 7, 16), the result would still +# be 15, being the rectangle with height 5 over (5,7,16), rather +# than just the 16 value. It would be easy enough to fudge the +# iterators to make it work that way, but I consider it to be a +# degenerate and slightly boring case, overly sensitive to outliers +# and signal noise. Let's keep it interesting and say rectangles +# need at minimum width 2. +# +# array 6 14 17 1 20 7 15 5 10 19 16 13 +# +# rectangle found at: +# start index 4 +# end index 11 +# height 5 +# width 8 +# area 40 +# +# rectangle found at: +# start index 8 +# end index 11 +# height 10 +# width 4 +# area 40 +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +use warnings; +use strict; +use feature ":5.26"; + +use List::Util qw( min sample ); + +## ## ## ## ## MAIN: + +my @A = sample 12, (1..24); +my @windows; + +for my $start (0..@A-2) { + for my $end ($start+1..@A-1) { + my $min = min @A[$start..$end]; + push @windows, [$min*($end-$start+1), $start, $end, $min]; + } +} + +my @sorted = sort { $b->[0] <=> $a->[0] } @windows; +my @largest = grep { $_->[0] == $sorted[0]->[0] } @sorted; + +say "array (@A)"; + +for my $rect ( @largest ) { + my $width = $rect->[2] - $rect->[1] + 1; + say<<__EOD__; + +rectangle found at: + start index $rect->[1] + end index $rect->[2] + height $rect->[3] + width $width + area $rect->[0] +__EOD__ +} + + + diff --git a/challenge-075/colin-crain/raku/ch-1.raku b/challenge-075/colin-crain/raku/ch-1.raku new file mode 100644 index 0000000000..3c40079d02 --- /dev/null +++ b/challenge-075/colin-crain/raku/ch-1.raku @@ -0,0 +1,89 @@ +#!/usr/bin/env perl6 +# +# +# change_is_gonna_come.raku +# +# TASK #1 › Coins Sum +# Submitted by: Mohammad S Anwar +# You are given a set of coins @C, assuming you have infinite amount of each coin in the set. +# +# Write a script to find how many ways you make sum $S using the coins from the set @C. +# +# Example: +# Input: +# @C = (1, 2, 4) +# $S = 6 +# +# Output: 6 +# There are 6 possible ways to make sum 6. +# a) (1, 1, 1, 1, 1, 1) +# b) (1, 1, 1, 1, 2) +# c) (1, 1, 2, 2) +# d) (1, 1, 4) +# e) (2, 2, 2) +# f) (2, 4) +# +# method: +# Recursive routine that diminishes the options available in the +# coin bag as the total anount remaining decreases. Builds a +# branching tree of coin groupings until no more coins can be used +# or remaining amount to be tendered is 0. +# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + + + +unit sub MAIN ($S = 27, *@coins) ; + +# cfg +@coins = (2,5,10,25) if @coins.elems == 0; +@coins .= sort( { $^a <=> $^b } ); +my @solutions; + +# work +get_coin_groups($S); + +# out +print_output(@solutions); + +## ## ## ## ## + +sub get_coin_groups ($amt, @group = [], @bag = @coins) { + + ## base case, cashed out + $amt == 0 and return @solutions.push: @group; + + ## limit coin bag to those smaller or equal to the current amount + my @coin_bag = @bag.grep: { $_ <= $amt } ; + + ## edge case, cannot complete group with remaining coins + @coin_bag == 0 and return; + + for @coin_bag -> $coin { + ## limit coin bag to this coin or smaller than this coin + ## keeps groups ordered and disallows duplicate rearrangements + my @smaller_coin_bag = @bag.grep: { $_ <= $coin } ; + get_coin_groups( $amt - $coin, ( |@group, $coin ) , @smaller_coin_bag ); + } +} + +sub print_output ($output) { + my $count = $output.elems; + + say "Input:\n \@C = ", @coins; + say " \$S = $S\n"; + say "Output: $count"; + say $count == 1 + ?? "There is one possible way to make sum $S" + !! "There are $count ways to make sum $S"; + + + my @letter_prefixes = |('a'..'z'), |('aa'..'zz'); + say "\t", @letter_prefixes.shift, ') ', $_ for @solutions; + +} + + diff --git a/challenge-075/colin-crain/raku/ch-2.raku b/challenge-075/colin-crain/raku/ch-2.raku new file mode 100644 index 0000000000..589c0ed895 --- /dev/null +++ b/challenge-075/colin-crain/raku/ch-2.raku @@ -0,0 +1,130 @@ +#!/usr/bin/env perl6 +# +# +# 75_2_windows_wide_open.raku +# +# TASK #2 › Largest Rectangle Histogram +# Submitted by: Mohammad S Anwar +# You are given an array of positive numbers @A. +# +# Write a script to find the larget rectangle histogram created by the +# given array. +# +# BONUS: Try to print the histogram as shown in the example, if +# possible. +# +# Example 1: +# +# Input: @A = (2, 1, 4, 5, 3, 7) +# 7 # +# 6 # +# 5 # # +# 4 # # # +# 3 # # # # +# 2 # # # # # +# 1 # # # # # # +# _ _ _ _ _ _ _ +# 2 1 4 5 3 7 +# +# Looking at the above histogram, the largest rectangle (4 x 3) is +# formed by columns (4, 5, 3 and 7). +# +# Output: 12 +# +# Example 2: +# +# Input: @A = (3, 2, 3, 5, 7, 5) +# 7 # +# 6 # +# 5 # # # +# 4 # # # +# 3 # # # # # +# 2 # # # # # # +# 1 # # # # # # +# _ _ _ _ _ _ _ +# 3 2 3 5 7 5 +# Looking at the above histogram, the largest rectangle (3 x 5) is +# formed by columns (5, 7 and 5). +# +# Output: 15 +# +# +## ## ## ## ## +# +# method: +# The rectangular area under a range is defined by the minimum value +# within that range and the width of the span. +# +# So by looking at each range set within the bounds of the array, we +# can find the corresponding minimum; multiplying that by the width +# of the window gives us the area of the rectangle. +# +# We are asked to find the maximum rectangle, but if we wish to +# allow for multiple equal areas, outputting all values, we need +# to keep all the rectangle data and review it before reporting. We +# can keep everything in an array of arrays, with a structure for +# [Area, Start, End, Height] and descending sort by area. Take the +# max value and find any others matching; these will +# be the maximum rectangles. +# +# We will choose to not consider a single data point to be a proper +# rectangle, more like a line, so in altering the input of example +# number 2 to the list (3, 2, 3, 5, 7, 16), the result would still +# be 15, being the rectangle with height 5 over (5,7,16), rather +# than just the 16 value. It would be easy enough to fudge the +# iterators to make it work that way, but I consider it to be a +# degenerate and slightly boring case, overly sensitive to outliers +# and signal noise. Let's keep it interesting and say rectangles +# need at minimum width 2. +# +# array 6 14 17 1 20 7 15 5 10 19 16 13 +# +# rectangle found at: +# start index 4 +# end index 11 +# height 5 +# width 8 +# area 40 +# +# rectangle found at: +# start index 8 +# end index 11 +# height 10 +# width 4 +# area 40# +# +# +# 2020 colin crain +## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## + +unit sub MAIN () ; + +## cfg +my @A = (^24).pick(12); +my @windows; + +## work +for (^@A.elems).combinations(2) -> ($start, $end) { + my $min = @A[$start..$end].min; + @windows.push: ($min*($start..$end).elems, $start, $end, $min); +} + +my $max = @windows.max({$_[0]}); +my @largest = @windows.grep({ $_[0] == $max[0] }); + + +## out +say "array ", @A, "\n"; +for @largest -> @r { + my $width = @r[2]-@r[1]+1; + + say qq:to/__EOD__/; + rectangle found at: + start index @r[1] + end index @r[2] + height @r[3] + width $width + area @r[0] + __EOD__ +} + diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7496e60422..cc661380bb 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,18 +1,208 @@ { + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1, + "headerFormat" : "{series.name}
" + }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 34] Last updated at 2020-08-30 21:22:52 GMT" + }, + "series" : [ + { + "name" : "Perl Weekly Challenge - 075", + "data" : [ + { + "drilldown" : "Adam Russell", + "y" : 4, + "name" : "Adam Russell" + }, + { + "y" : 2, + "name" : "Alex Mauney", + "drilldown" : "Alex Mauney" + }, + { + "y" : 2, + "name" : "Alexander Pankoff", + "drilldown" : "Alexander Pankoff" + }, + { + "drilldown" : "Andrew Shitov", + "y" : 5, + "name" : "Andrew Shitov" + }, + { + "y" : 4, + "name" : "Athanasius", + "drilldown" : "Athanasius" + }, + { + "drilldown" : "Cheok-Yin Fung", + "y" : 4, + "name" : "Cheok-Yin Fung" + }, + { + "y" : 5, + "name" : "Colin Crain", + "drilldown" : "Colin Crain" + }, + { + "y" : 2, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "drilldown" : "James Smith", + "y" : 2, + "name" : "James Smith" + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 2 + }, + { + "drilldown" : "Jason Messer", + "name" : "Jason Messer", + "y" : 2 + }, + { + "y" : 5, + "name" : "Javier Luque", + "drilldown" : "Javier Luque" + }, + { + "name" : "Jorg Sommrey", + "y" : 2, + "drilldown" : "Jorg Sommrey" + }, + { + "name" : "Laurent Rosenfeld", + "y" : 5, + "drilldown" : "Laurent Rosenfeld" + }, + { + "y" : 2, + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch" + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 4 + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "name" : "Markus Holzer", + "y" : 2, + "drilldown" : "Markus Holzer" + }, + { + "name" : "Mohammad S Anwar", + "y" : 7, + "drilldown" : "Mohammad S Anwar" + }, + { + "name" : "Myoungjin Jeon", + "y" : 4, + "drilldown" : "Myoungjin Jeon" + }, + { + "drilldown" : "Niels van Dijke", + "y" : 2, + "name" : "Niels van Dijke" + }, + { + "y" : 2, + "name" : "Noud Aldenhoven", + "drilldown" : "Noud Aldenhoven" + }, + { + "drilldown" : "Nuno Vieira", + "name" : "Nuno Vieira", + "y" : 2 + }, + { + "drilldown" : "Pete Houston", + "name" : "Pete Houston", + "y" : 2 + }, + { + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West", + "y" : 5 + }, + { + "drilldown" : "Shahed Nooshmand", + "y" : 3, + "name" : "Shahed Nooshmand" + }, + { + "drilldown" : "Shawn Wagner", + "y" : 2, + "name" : "Shawn Wagner" + }, + { + "drilldown" : "Simon Green", + "name" : "Simon Green", + "y" : 3 + }, + { + "name" : "Simon Proctor", + "y" : 2, + "drilldown" : "Simon Proctor" + }, + { + "y" : 2, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "name" : "Walt Mankowski", + "y" : 3, + "drilldown" : "Walt Mankowski" + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 2 + }, + { + "y" : 2, + "name" : "Yet Ebreo", + "drilldown" : "Yet Ebreo" + } + ], + "colorByPoint" : 1 + } + ], "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { "enabled" : 1, "format" : "{point.y}" - } + }, + "borderWidth" : 0 } }, "drilldown" : { "series" : [ { - "id" : "Adam Russell", - "name" : "Adam Russell", "data" : [ [ "Perl", @@ -22,29 +212,32 @@ "Blog", 2 ] - ] + ], + "id" : "Adam Russell", + "name" : "Adam Russell" }, { - "name" : "Alex Mauney", - "id" : "Alex Mauney", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Alex Mauney", + "name" : "Alex Mauney" }, { - "id" : "Alexander Pankoff", "name" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Alexander Pankoff" }, { + "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -55,12 +248,9 @@ 3 ] ], - "name" : "Andrew Shitov", "id" : "Andrew Shitov" }, { - "name" : "Athanasius", - "id" : "Athanasius", "data" : [ [ "Perl", @@ -70,11 +260,11 @@ "Raku", 2 ] - ] + ], + "id" : "Athanasius", + "name" : "Athanasius" }, { - "id" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -84,27 +274,37 @@ "Blog", 2 ] - ] + ], + "id" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" }, { + "id" : "Colin Crain", "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], [ "Blog", 1 ] ], - "name" : "Colin Crain", - "id" : "Colin Crain" + "name" : "Colin Crain" }, { + "name" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + "id" : "Dave Jacoby" }, { "data" : [ @@ -117,28 +317,28 @@ "name" : "E. Choroba" }, { - "name" : "James Smith", "id" : "James Smith", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "James Smith" }, { + "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] ], - "name" : "Jan Krnavek", - "id" : "Jan Krnavek" + "name" : "Jan Krnavek" }, { - "id" : "Jason Messer", "name" : "Jason Messer", + "id" : "Jason Messer", "data" : [ [ "Raku", @@ -148,7 +348,6 @@ }, { "name" : "Javier Luque", - "id" : "Javier Luque", "data" : [ [ "Perl", @@ -162,19 +361,21 @@ "Blog", 1 ] - ] + ], + "id" : "Javier Luque" }, { + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "id" : "Jorg Sommrey", "name" : "Jorg Sommrey" }, { + "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -189,20 +390,21 @@ 1 ] ], - "name" : "Laurent Rosenfeld", "id" : "Laurent Rosenfeld" }, { - "id" : "Lubos Kolouch", "name" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Lubos Kolouch" }, { + "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -212,19 +414,17 @@ "Blog", 2 ] - ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + ] }, { - "id" : "Mark Anderson", "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { "data" : [ @@ -237,8 +437,6 @@ "name" : "Markus Holzer" }, { - "name" : "Mohammad S Anwar", - "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -252,11 +450,13 @@ "Blog", 3 ] - ] + ], + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { - "id" : "Myoungjin Jeon", "name" : "Myoungjin Jeon", + "id" : "Myoungjin Jeon", "data" : [ [ "Perl", @@ -269,44 +469,44 @@ ] }, { - "name" : "Niels van Dijke", - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { - "id" : "Noud Aldenhoven", "name" : "Noud Aldenhoven", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Noud Aldenhoven" }, { - "id" : "Nuno Vieira", - "name" : "Nuno Vieira", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Nuno Vieira", + "name" : "Nuno Vieira" }, { "name" : "Pete Houston", - "id" : "Pete Houston", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Pete Houston" }, { "data" : [ @@ -323,11 +523,10 @@ 1 ] ], - "name" : "Roger Bell_West", - "id" : "Roger Bell_West" + "id" : "Roger Bell_West", + "name" : "Roger Bell_West" }, { - "name" : "Shahed Nooshmand", "id" : "Shahed Nooshmand", "data" : [ [ @@ -338,21 +537,21 @@ "Blog", 1 ] - ] + ], + "name" : "Shahed Nooshmand" }, { + "name" : "Shawn Wagner", "data" : [ [ "Perl", 2 ] ], - "name" : "Shawn Wagner", "id" : "Shawn Wagner" }, { "id" : "Simon Green", - "name" : "Simon Green", "data" : [ [ "Perl", @@ -362,7 +561,8 @@ "Blog", 1 ] - ] + ], + "name" : "Simon Green" }, { "data" : [ @@ -375,17 +575,16 @@ "name" : "Simon Proctor" }, { + "name" : "Ulrich Rieke", "data" : [ [ "Perl", 2 ] ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + "id" : "Ulrich Rieke" }, { - "name" : "Walt Mankowski", "id" : "Walt Mankowski", "data" : [ [ @@ -396,231 +595,40 @@ "Blog", 1 ] - ] + ], + "name" : "Walt Mankowski" }, { + "name" : "Wanderdoc", + "id" : "Wanderdoc", "data" : [ [ "Perl", 2 ] - ], - "name" : "Wanderdoc", - "id" : "Wanderdoc" + ] }, { + "name" : "Yet Ebreo", "data" : [ [ "Perl", 2 ] ], - "id" : "Yet Ebreo", - "name" : "Yet Ebreo" + "id" : "Yet Ebreo" } ] }, - "subtitle" : { - "text" : "[Champions: 34] Last updated at 2020-08-30 16:05:22 GMT" - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" - }, - "series" : [ - { - "name" : "Perl Weekly Challenge - 075", - "colorByPoint" : 1, - "data" : [ - { - "y" : 4, - "name" : "Adam Russell", - "drilldown" : "Adam Russell" - }, - { - "drilldown" : "Alex Mauney", - "name" : "Alex Mauney", - "y" : 2 - }, - { - "drilldown" : "Alexander Pankoff", - "name" : "Alexander Pankoff", - "y" : 2 - }, - { - "y" : 5, - "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" - }, - { - "drilldown" : "Athanasius", - "name" : "Athanasius", - "y" : 4 - }, - { - "name" : "Cheok-Yin Fung", - "y" : 4, - "drilldown" : "Cheok-Yin Fung" - }, - { - "drilldown" : "Colin Crain", - "y" : 1, - "name" : "Colin Crain" - }, - { - "name" : "Dave Jacoby", - "y" : 2, - "drilldown" : "Dave Jacoby" - }, - { - "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 - }, - { - "name" : "James Smith", - "y" : 2, - "drilldown" : "James Smith" - }, - { - "name" : "Jan Krnavek", - "y" : 2, - "drilldown" : "Jan Krnavek" - }, - { - "drilldown" : "Jason Messer", - "name" : "Jason Messer", - "y" : 2 - }, - { - "drilldown" : "Javier Luque", - "name" : "Javier Luque", - "y" : 5 - }, - { - "drilldown" : "Jorg Sommrey", - "y" : 2, - "name" : "Jorg Sommrey" - }, - { - "drilldown" : "Laurent Rosenfeld", - "y" : 5, - "name" : "Laurent Rosenfeld" - }, - { - "name" : "Lubos Kolouch", - "y" : 2, - "drilldown" : "Lubos Kolouch" - }, - { - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari", - "y" : 4 - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "y" : 2, - "name" : "Markus Holzer", - "drilldown" : "Markus Holzer" - }, - { - "drilldown" : "Mohammad S Anwar", - "y" : 7, - "name" : "Mohammad S Anwar" - }, - { - "drilldown" : "Myoungjin Jeon", - "y" : 4, - "name" : "Myoungjin Jeon" - }, - { - "drilldown" : "Niels van Dijke", - "y" : 2, - "name" : "Niels van Dijke" - }, - { - "drilldown" : "Noud Aldenhoven", - "y" : 2, - "name" : "Noud Aldenhoven" - }, - { - "name" : "Nuno Vieira", - "y" : 2, - "drilldown" : "Nuno Vieira" - }, - { - "y" : 2, - "name" : "Pete Houston", - "drilldown" : "Pete Houston" - }, - { - "drilldown" : "Roger Bell_West", - "y" : 5, - "name" : "Roger Bell_West" - }, - { - "y" : 3, - "name" : "Shahed Nooshmand", - "drilldown" : "Shahed Nooshmand" - }, - { - "drilldown" : "Shawn Wagner", - "y" : 2, - "name" : "Shawn Wagner" - }, - { - "drilldown" : "Simon Green", - "name" : "Simon Green", - "y" : 3 - }, - { - "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" - }, - { - "name" : "Ulrich Rieke", - "y" : 2, - "drilldown" : "Ulrich Rieke" - }, - { - "drilldown" : "Walt Mankowski", - "y" : 3, - "name" : "Walt Mankowski" - }, - { - "drilldown" : "Wanderdoc", - "y" : 2, - "name" : "Wanderdoc" - }, - { - "name" : "Yet Ebreo", - "y" : 2, - "drilldown" : "Yet Ebreo" - } - ] - } - ], - "legend" : { - "enabled" : 0 + "xAxis" : { + "type" : "category" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "xAxis" : { - "type" : "category" - }, "title" : { "text" : "Perl Weekly Challenge - 075" - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index e0c3dfcbcd..4ce9c602b0 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,37 +1,36 @@ { - "xAxis" : { - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - }, - "type" : "category" + "legend" : { + "enabled" : "false" + }, + "subtitle" : { + "text" : "Last updated at 2020-08-30 21:22:52 GMT" + }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, "yAxis" : { - "min" : 0, "title" : { "text" : null + }, + "min" : 0 + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } } }, - "legend" : { - "enabled" : "false" + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" }, "series" : [ { - "name" : "Contributions", - "dataLabels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "enabled" : "true", - "format" : "{point.y:.0f}", - "color" : "#FFFFFF", - "rotation" : -90, - "y" : 10, - "align" : "right" - }, "data" : [ [ "Blog", @@ -39,25 +38,26 @@ ], [ "Perl", - 3148 + 3150 ], [ "Raku", - 2047 + 2049 ] - ] + ], + "dataLabels" : { + "color" : "#FFFFFF", + "y" : 10, + "rotation" : -90, + "format" : "{point.y:.0f}", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "align" : "right", + "enabled" : "true" + }, + "name" : "Contributions" } - ], - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, - "subtitle" : { - "text" : "Last updated at 2020-08-30 16:05:22 GMT" - }, - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index b26e6e5a45..5718272b4a 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,414 +1,21 @@ { - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "chart" : { - "type" : "column" - }, - "series" : [ - { - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages", - "data" : [ - { - "y" : 142, - "name" : "#001", - "drilldown" : "001" - }, - { - "drilldown" : "002", - "y" : 109, - "name" : "#002" - }, - { - "drilldown" : "003", - "name" : "#003", - "y" : 71 - }, - { - "y" : 91, - "name" : "#004", - "drilldown" : "004" - }, - { - "drilldown" : "005", - "name" : "#005", - "y" : 72 - }, - { - "name" : "#006", - "y" : 52, - "drilldown" : "006" - }, - { - "drilldown" : "007", - "y" : 59, - "name" : "#007" - }, - { - "y" : 72, - "name" : "#008", - "drilldown" : "008" - }, - { - "drilldown" : "009", - "y" : 68, - "name" : "#009" - }, - { - "drilldown" : "010", - "y" : 60, - "name" : "#010" - }, - { - "drilldown" : "011", - "y" : 79, - "name" : "#011" - }, - { - "drilldown" : "012", - "y" : 83, - "name" : "#012" - }, - { - "drilldown" : "013", - "y" : 76, - "name" : "#013" - }, - { - "y" : 96, - "name" : "#014", - "drilldown" : "014" - }, - { - "drilldown" : "015", - "y" : 93, - "name" : "#015" - }, - { - "name" : "#016", - "y" : 66, - "drilldown" : "016" - }, - { - "name" : "#017", - "y" : 79, - "drilldown" : "017" - }, - { - "drilldown" : "018", - "y" : 76, - "name" : "#018" - }, - { - "drilldown" : "019", - "y" : 97, - "name" : "#019" - }, - { - "drilldown" : "020", - "name" : "#020", - "y" : 95 - }, - { - "drilldown" : "021", - "name" : "#021", - "y" : 67 - }, - { - "y" : 63, - "name" : "#022", - "drilldown" : "022" - }, - { - "name" : "#023", - "y" : 91, - "drilldown" : "023" - }, - { - "drilldown" : "024", - "name" : "#024", - "y" : 70 - }, - { - "drilldown" : "025", - "name" : "#025", - "y" : 55 - }, - { - "y" : 70, - "name" : "#026", - "drilldown" : "026" - }, - { - "drilldown" : "027", - "y" : 58, - "name" : "#027" - }, - { - "drilldown" : "028", - "y" : 78, - "name" : "#028" - }, - { - "drilldown" : "029", - "y" : 77, - "name" : "#029" - }, - { - "name" : "#030", - "y" : 115, - "drilldown" : "030" - }, - { - "y" : 87, - "name" : "#031", - "drilldown" : "031" - }, - { - "drilldown" : "032", - "y" : 92, - "name" : "#032" - }, - { - "y" : 108, - "name" : "#033", - "drilldown" : "033" - }, - { - "name" : "#034", - "y" : 62, - "drilldown" : "034" - }, - { - "name" : "#035", - "y" : 62, - "drilldown" : "035" - }, - { - "y" : 66, - "name" : "#036", - "drilldown" : "036" - }, - { - "y" : 65, - "name" : "#037", - "drilldown" : "037" - }, - { - "drilldown" : "038", - "y" : 65, - "name" : "#038" - }, - { - "y" : 60, - "name" : "#039", - "drilldown" : "039" - }, - { - "name" : "#040", - "y" : 71, - "drilldown" : "040" - }, - { - "drilldown" : "041", - "y" : 74, - "name" : "#041" - }, - { - "name" : "#042", - "y" : 88, - "drilldown" : "042" - }, - { - "y" : 66, - "name" : "#043", - "drilldown" : "043" - }, - { - "drilldown" : "044", - "name" : "#044", - "y" : 82 - }, - { - "drilldown" : "045", - "y" : 94, - "name" : "#045" - }, - { - "name" : "#046", - "y" : 85, - "drilldown" : "046" - }, - { - "y" : 82, - "name" : "#047", - "drilldown" : "047" - }, - { - "drilldown" : "048", - "y" : 106, - "name" : "#048" - }, - { - "y" : 85, - "name" : "#049", - "drilldown" : "049" - }, - { - "name" : "#050", - "y" : 96, - "drilldown" : "050" - }, - { - "name" : "#051", - "y" : 87, - "drilldown" : "051" - }, - { - "drilldown" : "052", - "y" : 89, - "name" : "#052" - }, - { - "y" : 99, - "name" : "#053", - "drilldown" : "053" - }, - { - "drilldown" : "054", - "y" : 101, - "name" : "#054" - }, - { - "name" : "#055", - "y" : 86, - "drilldown" : "055" - }, - { - "drilldown" : "056", - "y" : 93, - "name" : "#056" - }, - { - "name" : "#057", - "y" : 78, - "drilldown" : "057" - }, - { - "drilldown" : "058", - "name" : "#058", - "y" : 67 - }, - { - "name" : "#059", - "y" : 87, - "drilldown" : "059" - }, - { - "name" : "#060", - "y" : 83, - "drilldown" : "060" - }, - { - "drilldown" : "061", - "y" : 79, - "name" : "#061" - }, - { - "drilldown" : "062", - "name" : "#062", - "y" : 54 - }, - { - "name" : "#063", - "y" : 87, - "drilldown" : "063" - }, - { - "name" : "#064", - "y" : 76, - "drilldown" : "064" - }, - { - "name" : "#065", - "y" : 71, - "drilldown" : "065" - }, - { - "y" : 82, - "name" : "#066", - "drilldown" : "066" - }, - { - "drilldown" : "067", - "name" : "#067", - "y" : 88 - }, - { - "y" : 73, - "name" : "#068", - "drilldown" : "068" - }, - { - "drilldown" : "069", - "y" : 81, - "name" : "#069" - }, - { - "drilldown" : "070", - "name" : "#070", - "y" : 91 - }, - { - "drilldown" : "071", - "name" : "#071", - "y" : 76 - }, - { - "y" : 109, - "name" : "#072", - "drilldown" : "072" - }, - { - "drilldown" : "073", - "name" : "#073", - "y" : 108 - }, - { - "y" : 112, - "name" : "#074", - "drilldown" : "074" - }, - { - "y" : 97, - "name" : "#075", - "drilldown" : "075" - } - ] - } - ], "tooltip" : { "pointFormat" : "Challenge {point.name}: {point.y:f}
", "headerFormat" : "", "followPointer" : "true" }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } + "chart" : { + "type" : "column" }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-08-30 16:05:22 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-08-30 21:22:52 GMT" + }, + "legend" : { + "enabled" : "false" }, "drilldown" : { "series" : [ { - "id" : "001", "name" : "001", "data" : [ [ @@ -423,11 +30,11 @@ "Blog", 11 ] - ] + ], + "id" : "001" }, { "name" : "002", - "id" : "002", "data" : [ [ "Perl", @@ -441,7 +48,8 @@ "Blog", 10 ] - ] + ], + "id" : "002" }, { "data" : [ @@ -462,6 +70,7 @@ "name" : "003" }, { + "name" : "004", "data" : [ [ "Perl", @@ -476,7 +85,6 @@ 10 ] ], - "name" : "004", "id" : "004" }, { @@ -494,10 +102,12 @@ 12 ] ], - "name" : "005", - "id" : "005" + "id" : "005", + "name" : "005" }, { + "name" : "006", + "id" : "006", "data" : [ [ "Perl", @@ -511,11 +121,11 @@ "Blog", 7 ] - ], - "id" : "006", - "name" : "006" + ] }, { + "name" : "007", + "id" : "007", "data" : [ [ "Perl", @@ -529,13 +139,9 @@ "Blog", 10 ] - ], - "id" : "007", - "name" : "007" + ] }, { - "id" : "008", - "name" : "008", "data" : [ [ "Perl", @@ -549,11 +155,12 @@ "Blog", 12 ] - ] + ], + "id" : "008", + "name" : "008" }, { "id" : "009", - "name" : "009", "data" : [ [ "Perl", @@ -567,9 +174,12 @@ "Blog", 13 ] - ] + ], + "name" : "009" }, { + "name" : "010", + "id" : "010", "data" : [ [ "Perl", @@ -583,11 +193,11 @@ "Blog", 11 ] - ], - "name" : "010", - "id" : "010" + ] }, { + "name" : "011", + "id" : "011", "data" : [ [ "Perl", @@ -601,13 +211,9 @@ "Blog", 10 ] - ], - "name" : "011", - "id" : "011" + ] }, { - "name" : "012", - "id" : "012", "data" : [ [ "Perl", @@ -621,7 +227,9 @@ "Blog", 11 ] - ] + ], + "id" : "012", + "name" : "012" }, { "name" : "013", @@ -642,8 +250,8 @@ ] }, { - "id" : "014", "name" : "014", + "id" : "014", "data" : [ [ "Perl", @@ -660,6 +268,7 @@ ] }, { + "name" : "015", "data" : [ [ "Perl", @@ -674,10 +283,10 @@ 15 ] ], - "id" : "015", - "name" : "015" + "id" : "015" }, { + "id" : "016", "data" : [ [ "Perl", @@ -692,10 +301,10 @@ 12 ] ], - "name" : "016", - "id" : "016" + "name" : "016" }, { + "name" : "017", "data" : [ [ "Perl", @@ -710,12 +319,10 @@ 12 ] ], - "name" : "017", "id" : "017" }, { "name" : "018", - "id" : "018", "data" : [ [ "Perl", @@ -729,11 +336,12 @@ "Blog", 14 ] - ] + ], + "id" : "018" }, { - "id" : "019", "name" : "019", + "id" : "019", "data" : [ [ "Perl", @@ -750,8 +358,6 @@ ] }, { - "name" : "020", - "id" : "020", "data" : [ [ "Perl", @@ -765,9 +371,12 @@ "Blog", 13 ] - ] + ], + "id" : "020", + "name" : "020" }, { + "id" : "021", "data" : [ [ "Perl", @@ -782,12 +391,11 @@ 10 ] ], - "id" : "021", "name" : "021" }, { - "id" : "022", "name" : "022", + "id" : "022", "data" : [ [ "Perl", @@ -804,8 +412,8 @@ ] }, { - "id" : "023", "name" : "023", + "id" : "023", "data" : [ [ "Perl", @@ -823,7 +431,6 @@ }, { "id" : "024", - "name" : "024", "data" : [ [ "Perl", @@ -837,9 +444,11 @@ "Blog", 11 ] - ] + ], + "name" : "024" }, { + "name" : "025", "data" : [ [ "Perl", @@ -854,10 +463,10 @@ 12 ] ], - "name" : "025", "id" : "025" }, { + "name" : "026", "data" : [ [ "Perl", @@ -872,12 +481,11 @@ 10 ] ], - "name" : "026", "id" : "026" }, { - "id" : "027", "name" : "027", + "id" : "027", "data" : [ [ "Perl", @@ -895,7 +503,6 @@ }, { "name" : "028", - "id" : "028", "data" : [ [ "Perl", @@ -909,9 +516,11 @@ "Blog", 9 ] - ] + ], + "id" : "028" }, { + "name" : "029", "data" : [ [ "Perl", @@ -926,12 +535,10 @@ 12 ] ], - "name" : "029", "id" : "029" }, { "name" : "030", - "id" : "030", "data" : [ [ "Perl", @@ -945,9 +552,12 @@ "Blog", 10 ] - ] + ], + "id" : "030" }, { + "name" : "031", + "id" : "031", "data" : [ [ "Perl", @@ -961,11 +571,10 @@ "Blog", 9 ] - ], - "id" : "031", - "name" : "031" + ] }, { + "name" : "032", "data" : [ [ "Perl", @@ -980,10 +589,11 @@ 10 ] ], - "id" : "032", - "name" : "032" + "id" : "032" }, { + "name" : "033", + "id" : "033", "data" : [ [ "Perl", @@ -997,13 +607,10 @@ "Blog", 10 ] - ], - "name" : "033", - "id" : "033" + ] }, { "name" : "034", - "id" : "034", "data" : [ [ "Perl", @@ -1017,11 +624,10 @@ "Blog", 11 ] - ] + ], + "id" : "034" }, { - "id" : "035", - "name" : "035", "data" : [ [ "Perl", @@ -1035,7 +641,9 @@ "Blog", 9 ] - ] + ], + "id" : "035", + "name" : "035" }, { "name" : "036", @@ -1056,6 +664,7 @@ ] }, { + "id" : "037", "data" : [ [ "Perl", @@ -1070,10 +679,10 @@ 9 ] ], - "name" : "037", - "id" : "037" + "name" : "037" }, { + "name" : "038", "data" : [ [ "Perl", @@ -1088,10 +697,10 @@ 12 ] ], - "id" : "038", - "name" : "038" + "id" : "038" }, { + "name" : "039", "data" : [ [ "Perl", @@ -1106,7 +715,6 @@ 12 ] ], - "name" : "039", "id" : "039" }, { @@ -1124,8 +732,8 @@ 10 ] ], - "name" : "040", - "id" : "040" + "id" : "040", + "name" : "040" }, { "data" : [ @@ -1147,7 +755,6 @@ }, { "id" : "042", - "name" : "042", "data" : [ [ "Perl", @@ -1161,10 +768,10 @@ "Blog", 11 ] - ] + ], + "name" : "042" }, { - "id" : "043", "name" : "043", "data" : [ [ @@ -1179,9 +786,11 @@ "Blog", 11 ] - ] + ], + "id" : "043" }, { + "name" : "044", "data" : [ [ "Perl", @@ -1196,12 +805,9 @@ 11 ] ], - "id" : "044", - "name" : "044" + "id" : "044" }, { - "name" : "045", - "id" : "045", "data" : [ [ "Perl", @@ -1215,11 +821,13 @@ "Blog", 11 ] - ] + ], + "id" : "045", + "name" : "045" }, { - "id" : "046", "name" : "046", + "id" : "046", "data" : [ [ "Perl", @@ -1236,8 +844,8 @@ ] }, { - "id" : "047", "name" : "047", + "id" : "047", "data" : [ [ "Perl", @@ -1254,6 +862,7 @@ ] }, { + "id" : "048", "data" : [ [ "Perl", @@ -1268,11 +877,9 @@ 12 ] ], - "id" : "048", "name" : "048" }, { - "id" : "049", "name" : "049", "data" : [ [ @@ -1287,9 +894,11 @@ "Blog", 12 ] - ] + ], + "id" : "049" }, { + "id" : "050", "data" : [ [ "Perl", @@ -1304,12 +913,10 @@ 12 ] ], - "id" : "050", "name" : "050" }, { "name" : "051", - "id" : "051", "data" : [ [ "Perl", @@ -1323,11 +930,11 @@ "Blog", 11 ] - ] + ], + "id" : "051" }, { "id" : "052", - "name" : "052", "data" : [ [ "Perl", @@ -1341,10 +948,10 @@ "Blog", 14 ] - ] + ], + "name" : "052" }, { - "name" : "053", "id" : "053", "data" : [ [ @@ -1359,11 +966,12 @@ "Blog", 15 ] - ] + ], + "name" : "053" }, { - "id" : "054", "name" : "054", + "id" : "054",