aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2020-09-07 23:34:03 +0800
committer冯昶 <fengchang@novel-supertv.com>2020-09-07 23:34:03 +0800
commit1ec534344090149ac3944e320df6d639172d9d7c (patch)
tree94f00cc775e682a5bd68b7e6006501c4eb146bf1
parentca24b5924f2b84056eabd038d7df5be28876a4a2 (diff)
parent97c8188e223a0724e62df22564e2e95c469cfaf8 (diff)
downloadperlweeklychallenge-club-1ec534344090149ac3944e320df6d639172d9d7c.tar.gz
perlweeklychallenge-club-1ec534344090149ac3944e320df6d639172d9d7c.tar.bz2
perlweeklychallenge-club-1ec534344090149ac3944e320df6d639172d9d7c.zip
Merge remote-tracking branch 'upstream/master'
-rw-r--r--challenge-075/bob-lied/README55
-rw-r--r--challenge-075/bob-lied/perl/ch-1.pl51
-rw-r--r--challenge-075/bob-lied/perl/ch-2.pl30
-rw-r--r--challenge-075/bob-lied/perl/lib/CoinSum.pm79
-rw-r--r--challenge-075/bob-lied/perl/lib/LargestRectangleHistogram.pm166
-rw-r--r--challenge-075/bob-lied/perl/t/CoinSum.t24
-rwxr-xr-xchallenge-077/roger-bell-west/perl/ch-1.pl30
-rwxr-xr-xchallenge-077/roger-bell-west/perl/ch-2.pl45
-rwxr-xr-xchallenge-077/roger-bell-west/python/ch-1.py27
-rwxr-xr-xchallenge-077/roger-bell-west/python/ch-2.py33
-rwxr-xr-xchallenge-077/roger-bell-west/raku/ch-1.p618
-rwxr-xr-xchallenge-077/roger-bell-west/raku/ch-2.p643
-rw-r--r--stats/pwc-challenge-075.json281
-rw-r--r--stats/pwc-challenge-076.json612
-rw-r--r--stats/pwc-current.json602
-rw-r--r--stats/pwc-language-breakdown-summary.json54
-rw-r--r--stats/pwc-language-breakdown.json1113
-rw-r--r--stats/pwc-leaders.json754
-rw-r--r--stats/pwc-summary-1-30.json40
-rw-r--r--stats/pwc-summary-121-150.json106
-rw-r--r--stats/pwc-summary-151-180.json100
-rw-r--r--stats/pwc-summary-181-210.json40
-rw-r--r--stats/pwc-summary-31-60.json116
-rw-r--r--stats/pwc-summary-61-90.json38
-rw-r--r--stats/pwc-summary-91-120.json108
-rw-r--r--stats/pwc-summary.json54
26 files changed, 2617 insertions, 2002 deletions
diff --git a/challenge-075/bob-lied/README b/challenge-075/bob-lied/README
index e3712fbb10..e0e8e4f76c 100644
--- a/challenge-075/bob-lied/README
+++ b/challenge-075/bob-lied/README
@@ -1,53 +1,2 @@
-Solutions to weekly challenge 74 by Bob Lied.
-
-https://perlweeklychallenge.org/blog/perl-weekly-challenge-074/
-
-* TASK #1 > Majority Element
-
-** Initial thoughts
-
-This is going to be an exercise in hashes and grep.
-
-** Post Solution Thoughts
-
-Use a hash to count to count elements, then use grep with a code block to select the match.
-
-** Problem Statement
-
-You are given an array of integers of size $N.
-Write a script to find the majority element. If none found then print -1.
-Majority element in the list is the one that appears more than floor(size_of_list/2).
-
-
-
-* TASK #2 > FNR Character
-
-** Initial Thoughts
-
-The specification is a little odd and doesn't match the example. But, OK, whatever.
-Similar to the first task, another hash to count occurrences and grep to find the answers.
-
-** Post Solution Thoughts
-
-Going through the string could be either done with substr one character at a time,
-or splitting the string into an array of characters. Finding the first char could be
-a search through the character positions, or a sort and picking off the first element.
-Sort is the easy answer, but I'm always wary of scaling. Like in many of these
-problems, it's not an issue for "reasonable" strings, but could become a performance
-question if the strings were a thousand or a million times bigger.
-
-
-** Problem Statement
-
-You are given a string $S.
-
-Write a script to print the series of first non-repeating character
-(left -> right) for the given string. Print # if none found.
-Example 1
-Input: $S = ‘ababc’
-Output: ‘abb#c’
-Pass 1: “a”, the FNR character is ‘a’
-Pass 2: “ab”, the FNR character is ‘b’
-Pass 3: “aba”, the FNR character is ‘b’
-Pass 4: “abab”, no FNR found, hence ‘#’
-Pass 5: “ababc” the FNR character is ‘c’
+Solutions to Perl Weekly Challenge 075 by Bob Lied
+https://perlweeklychallenge.org/blog/perl-weekly-challenge-075/
diff --git a/challenge-075/bob-lied/perl/ch-1.pl b/challenge-075/bob-lied/perl/ch-1.pl
new file mode 100644
index 0000000000..c0e4a6bc8d
--- /dev/null
+++ b/challenge-075/bob-lied/perl/ch-1.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/perl
+# vim:set ts=4 sw=4 sts=4 et ai wm=0 nu syntax=perl:
+#
+# Copyright (c) 2020 Bob Lied
+# The copyright notice above does not evidence any actual
+# or intended publication of such source code.
+
+#===============================================================================
+# ch-1.pl
+#
+# Description:
+# Perl Weekly Challenge 075 Task #1 > Coins Sum
+#===============================================================================
+# 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)
+
+use strict;
+use warnings;
+use feature qw(say);
+
+use Data::Dumper;
+
+use lib "lib";
+use CoinSum qw(coinSum);
+
+sub Usage { "Usage: $0 SUM coin1 [coin2..coinN]" };
+
+my $S = shift;
+my @C = @ARGV;
+
+die Usage() unless $S;
+die Usage() unless @C;
+
+
+my $result = coinSum($S, @C);
+
+say "[ @$_ ]" foreach @$result;
diff --git a/challenge-075/bob-lied/perl/ch-2.pl b/challenge-075/bob-lied/perl/ch-2.pl
new file mode 100644
index 0000000000..387d76ffe5
--- /dev/null
+++ b/challenge-075/bob-lied/perl/ch-2.pl
@@ -0,0 +1,30 @@
+#!/usr/bin/env perl
+# vim:set ts=4 sw=4 sts=4 et ai wm=0 nu:
+#=============================================================================
+# ch-2.pl
+#=============================================================================
+# Copyright (c) 2020, Bob Lied
+#=============================================================================
+# Perl Weekly Challenge 075 TASK #2> Largest Rectangle Histogram
+#=============================================================================
+# You are given an array of positive numbers @A.
+# Write a script to find the largest rectangle histogram created by the given array.
+# BONUS: Try to print the histogram as shown in the example, if possible.
+
+use strict;
+use warnings;
+use feature q(say);
+
+use lib "lib";
+use LargestRectangleHistogram;
+
+my @A = @ARGV;
+die "Usage: list of positive integers" unless @A;
+
+my $lrh = LargestRectangleHistogram->new(@A);
+
+# $lrh->_show();
+say "Max area: ", $lrh->findLRH();
+
+$lrh->display();
+
diff --git a/challenge-075/bob-lied/perl/lib/CoinSum.pm b/challenge-075/bob-lied/perl/lib/CoinSum.pm
new file mode 100644
index 0000000000..e95500aa60
--- /dev/null
+++ b/challenge-075/bob-lied/perl/lib/CoinSum.pm
@@ -0,0 +1,79 @@
+# vim:set ts=4 sw=4 sts=4 et ai wm=0 nu syntax=perl:
+#
+# Copyright (c) 2020 Bob Lied
+# The copyright notice above does not evidence any actual
+# or intended publication of such source code.
+
+#===============================================================================
+# CoinSum.pm
+#
+# Description:
+#
+#===============================================================================
+
+package CoinSum;
+
+use strict;
+use warnings;
+use 5.010;
+use Carp;
+
+require Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw(coinSum);
+our @EXPORT_OK = qw();
+
+
+my @ComboList;
+
+sub _coinSum
+{
+ my ($depth, $target, $coinList, $coin, $combo) = @_;
+
+ my $diff = $target - $coin;
+ # say " depth=$depth, target = $target, coin = $coin, diff = $diff, list = [ @$coinList ], combo = [ @$combo ]";
+
+
+ if ( $diff == 0 )
+ {
+ push @ComboList, [ @$combo ];
+ # say "FOUND [ @$combo ]";
+ return 0;
+ }
+
+ if ( $diff < 0 )
+ {
+ pop @$combo;
+ # say "TOO FAR";
+ return $diff;
+ }
+
+ my @remainingCoin = sort { $a < $b } grep { $_ <= $diff } @$coinList;
+ for my $denom ( @remainingCoin )
+ {
+ push @$combo, $denom;
+ _coinSum( $depth+1, $diff, \@remainingCoin, $denom, $combo );
+ pop @$combo;
+ }
+
+}
+
+sub coinSum
+{
+ my ($sum, @coins) = @_;
+
+ # Sort denominations so largest is first.
+ @coins = sort { $a < $b } @coins;
+
+ while ( @coins )
+ {
+ # say "TOP: coin = $coins[0]";
+ _coinSum(1, $sum, \@coins, $coins[0], [ $coins[0] ] );
+ shift @coins;
+ }
+
+ return \@ComboList;
+}
+
+1;
+
diff --git a/challenge-075/bob-lied/perl/lib/LargestRectangleHistogram.pm b/challenge-075/bob-lied/perl/lib/LargestRectangleHistogram.pm
new file mode 100644
index 0000000000..f136a5efa1
--- /dev/null
+++ b/challenge-075/bob-lied/perl/lib/LargestRectangleHistogram.pm
@@ -0,0 +1,166 @@
+# vim:set ts=4 sw=4 sts=4 et ai wm=0 nu:
+#=============================================================================
+# LargestRectangleHistogram.pm
+#=============================================================================
+# Copyright (c) 2020, Bob Lied
+#=============================================================================
+# Description:
+#=============================================================================
+
+package LargestRectangleHistogram;
+
+use strict;
+use warnings;
+use feature qw(say);
+
+use List::Util qw(max min);
+use List::MoreUtils qw(arrayify); # Flattens 2D array into a list
+
+require Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw();
+our @EXPORT_OK = qw();
+
+sub _setup
+{
+ my $self = shift;
+
+ for my $row ( 0 .. $self->{_numRow} -1 )
+ {
+ for my $col ( 0 .. $self->{_numCol}-1 )
+ {
+ $self->{_grid}->[$row][$col] = ( $self->{_list}->[$col] > $row ? '*' : ' ' );
+ $self->{_area}->[$row][$col] = 0;
+ }
+ }
+}
+
+sub new
+{
+ my $class = shift;
+ $class = ref($class) || $class;
+ my $self = {
+ _list => [ @_ ],
+ _numCol => scalar(@_),
+ _numRow => List::Util::max( @_ ),
+
+ _grid => undef,
+ _area => undef,
+ _extent => undef,
+
+ };
+ bless $self, $class;
+
+ $self->_setup();
+ return $self;
+}
+
+sub _extendLeft
+{
+ my $self = shift;
+ my ($r, $col) = @_;
+ my $row = $self->{_grid}->[$r];
+
+ $col-- while ( $col >= 0 && $row->[$col] eq '*' );
+ return $col+1;
+}
+
+sub _extendRight
+{
+ my $self = shift;
+ my ($r, $col) = @_;
+ my $row = $self->{_grid}->[$r];
+
+ $col++ while ( $col < $self->{_numCol} && $row->[$col] eq '*' );
+ return $col -1;
+}
+
+sub _extend
+{
+ my $self = shift;
+ my ($row, $col) = @_;
+ my $ext = $self->{_extent};
+
+ # Memoize the range if already calculated
+ return @{$ext->[$row][$col]} if exists $ext->[$row][$col];
+
+ my $maxCol = $self->_extendRight($row, $col);
+ my $minCol = $self->_extendLeft($row, $col);
+
+ $ext->[$row][$col] = [ $minCol, $maxCol ] for $minCol .. $maxCol;
+ return ($minCol, $maxCol);
+}
+
+sub _findArea
+{
+ my $self = shift;
+ my ($row, $col) = @_;
+ my $grid = $self->{_grid};
+
+ my ($minCol, $maxCol) = $self->_extend($row, $col);
+
+ my $height = List::Util::min( @{$self->{_list}}[$minCol..$maxCol] );
+
+ my $a = $self->{_area}->[$row][$col] = ( ( $maxCol - $minCol + 1) * $height );
+
+ # say "[$row][$col] : maxL=$minCol maxR=$maxCol height=$height area=$a";
+ return $a;
+
+}
+sub findLRH
+{
+ my $self = shift;
+
+ my $grid = $self->{_grid};
+
+ for my $row ( 0 .. $self->{_numRow}-1 )
+ {
+ for my $col ( 0 .. $self->{_numCol}-1 )
+ {
+ next unless $grid->[$row][$col] eq '*';
+ my $area = $self->_findArea($row, $col);
+ }
+ }
+
+ return max(arrayify( @{$self->{_area}} ) );
+}
+
+sub _show
+{
+ my $self = shift;
+ my $g = $self->{_grid};
+ my $numRow = $self->{_numRow}-1;
+ my $numCol = $self->{_numCol}-1;
+
+ print " ";
+ for my $c ( 0 .. $numCol )
+ {
+ print "[$c]";
+ }
+ print "\n";
+ for my $r ( 0 .. $numRow )
+ {
+ print "[$r] ";
+ say " ", join(' ', @{$g->[$r]}), " ";
+ }
+
+
+}
+
+sub display
+{
+ my $self = shift;
+ my @chart;
+
+ for ( my $row = $self->{_numRow}-1 ; $row >= 0 ; $row-- )
+ {
+ printf("%2d| ", $row+1);
+ my $line = join(' ', @{$self->{_grid}->[$row]});
+ say $line;
+ }
+ say ' +', ('-' x ($self->{_numCol}*2));
+ say ' ', join(' ', @{$self->{_list}});
+}
+
+1;
+
diff --git a/challenge-075/bob-lied/perl/t/CoinSum.t b/challenge-075/bob-lied/perl/t/CoinSum.t
new file mode 100644
index 0000000000..2157772195
--- /dev/null
+++ b/challenge-075/bob-lied/perl/t/CoinSum.t
@@ -0,0 +1,24 @@
+#===============================================================================
+#
+# FILE: CoinSum.t
+#
+# DESCRIPTION:
+#
+# FILES: ---
+# BUGS: ---
+# NOTES: ---
+# AUTHOR: Bob Lied (RL), bob.lied@nokia.com
+# ORGANIZATION: PNM
+# VERSION: 1.0
+# CREATED: 2020-08-24 10:10:03 AM
+# REVISION: ---
+#===============================================================================
+
+use strict;
+use warnings;
+use 5.010;
+
+use Test2::V0;
+
+done_testing();
+
diff --git a/challenge-077/roger-bell-west/perl/ch-1.pl b/challenge-077/roger-bell-west/perl/ch-1.pl
new file mode 100755
index 0000000000..14aeab908c
--- /dev/null
+++ b/challenge-077/roger-bell-west/perl/ch-1.pl
@@ -0,0 +1,30 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+
+use List::Util qw(sum);
+use Algorithm::Combinatorics qw(combinations);
+
+use Test::More tests => 2;
+
+is_deeply(psum(6),[[1,5],[1,2,3]],"example 6");
+is_deeply(psum(9),[[1,8],[1,3,5]],"example 9");
+
+sub psum {
+ my $n=shift;
+ my @p=(1,1);
+ while ($p[-1] < $n) {
+ push @p,$p[-1]+$p[-2];
+ }
+ shift @p;
+ my @o;
+ foreach my $l (1..scalar @p) {
+ foreach my $comb (combinations(\@p,$l)) {
+ if (sum(@{$comb})==$n) {
+ push @o,$comb;
+ }
+ }
+ }
+ return \@o;
+}
diff --git a/challenge-077/roger-bell-west/perl/ch-2.pl b/challenge-077/roger-bell-west/perl/ch-2.pl
new file mode 100755
index 0000000000..6a8e18fda0
--- /dev/null
+++ b/challenge-077/roger-bell-west/perl/ch-2.pl
@@ -0,0 +1,45 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 2;
+
+is_deeply(nx([[qw(O O X)],[qw(X O O)],[qw(X O O)]]),1,"example 1");
+is_deeply(nx([[qw(O O X O)],[qw(X O O O)],[qw(X O O X)],[qw(O X O O)]]),2,"example 2");
+
+sub nx {
+ my $n=shift;
+ my $mr=$#{$n};
+ my $mc=$#{$n->[0]};
+ my $isol=0;
+ foreach my $r (0..$mr) {
+ foreach my $c (0..$mc) {
+ unless ($n->[$r][$c] eq 'X') {
+ next;
+ }
+ my $isolated=1;
+ foreach my $dr (-1,0,1) {
+ if ($r+$dr<0 || $r+$dr>$mr) {
+ next;
+ }
+ foreach my $dc (-1,0,1) {
+ if ($dc==0 && $dr==0) {
+ next;
+ }
+ if ($c+$dc<0 || $c+$dc>$mc) {
+ next;
+ }
+ if ($n->[$r+$dr][$c+$dc] eq 'X') {
+ $isolated=0;
+ last;
+ }
+ }
+ }
+ if ($isolated) {
+ $isol++;
+ }
+ }
+ }
+ return $isol;
+}
diff --git a/challenge-077/roger-bell-west/python/ch-1.py b/challenge-077/roger-bell-west/python/ch-1.py
new file mode 100755
index 0000000000..14e3f9cefb
--- /dev/null
+++ b/challenge-077/roger-bell-west/python/ch-1.py
@@ -0,0 +1,27 @@
+#! /usr/bin/python3
+
+import unittest
+from itertools import combinations
+
+def psum(n):
+ p=[1,1]
+ while (p[-1]<=n):
+ p.append(p[-1]+p[-2])
+ del p[0]
+ o=list()
+ for l in range (1,len(p)):
+ for c in combinations(p,l):
+ if (sum(c)==n):
+ o.append(c)
+ break
+ return o
+
+class TestMajority(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(psum(6),[(1, 5), (1, 2, 3)],'example 6-2')
+
+ def test_ex2(self):
+ self.assertEqual(psum(9),[(1, 8), (1, 3, 5)],'example 9-2')
+
+unittest.main()
diff --git a/challenge-077/roger-bell-west/python/ch-2.py b/challenge-077/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..d5ad3c7cab
--- /dev/null
+++ b/challenge-077/roger-bell-west/python/ch-2.py
@@ -0,0 +1,33 @@
+#! /usr/bin/python3
+
+import unittest
+
+def nx(n):
+ mr=len(n)-1
+ mc=len(n[0])-1
+ isol=0
+ for r in (range(0,mr+1)):
+ for c in (range(0,mc+1)):
+ if n[r][c] != 'X':
+ continue
+ isolated=1
+ for dr in (-1,0,1):
+ if (r+dr >= 0 and r+dr <= mr):
+ for dc in (-1,0,1):
+ if ((dc != 0 or dr != 0) and c+dc >= 0 and c+dc <= mc):
+ if n[r+dr][c+dc] == 'X':
+ isolated=0
+ break
+ if (isolated):
+ isol += 1
+ return isol
+
+class TestMajority(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(nx(('O O X'.split(),'X O O'.split(),'X O O'.split())),1,'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(nx(('O O X O'.split(),'X O O O'.split(),'X O O X'.split(),'O X O O'.split())),2,'example 2')
+
+unittest.main()
diff --git a/challenge-077/roger-bell-west/raku/ch-1.p6 b/challenge-077/roger-bell-west/raku/ch-1.p6
new file mode 100755
index 0000000000..046d830345
--- /dev/null
+++ b/challenge-077/roger-bell-west/raku/ch-1.p6
@@ -0,0 +1,18 @@
+#! /usr/bin/perl6
+
+use Test;
+
+plan 2;
+
+is-deeply(psum(6),[(1,5),(1,2,3)],"example 6-2");
+is-deeply(psum(9),[(1,8),(1,3,5)],"example 9-2");
+
+sub psum($n) {
+ my @p=(1,1);
+ while (@p[@p.end] < $n) {
+ push @p,@p[@p.end]+@p[@p.end-1];
+ }
+ shift @p;
+ my @o=grep {sum(@($_))==$n}, @p.combinations(1..@p.elems);
+ return @o;
+}
diff --git a/challenge-077/roger-bell-west/raku/ch-2.p6 b/challenge-077/roger-bell-west/raku/ch-2.p6
new file mode 100755
index 0000000000..b79881b635
--- /dev/null
+++ b/challenge-077/roger-bell-west/raku/ch-2.p6
@@ -0,0 +1,43 @@
+#! /usr/bin/perl6
+
+use Test;
+
+plan 2;
+
+is-deeply(nx(([<O O X>],[<X O O>],[<X O O>])),1,"example 1");
+is-deeply(nx(([<O O X O>],[<X O O O>],[<X O O X>],[<O X O O>])),2,"example 2");
+
+sub nx(@n) {
+ my $mr=@n.end;
+ my $mc=@n[0].end;
+ my $isol=0;
+ for 0..$mr -> $r {
+ for 0..$mc -> $c {
+ unless (@n[$r][$c] eq 'X') {
+ next;
+ }
+ my $isolated=1;
+ for (-1,0,1) -> $dr {
+ if ($r+$dr < 0 || $r+$dr > $mr) {
+ next;
+ }
+ for (-1,0,1) -> $dc {
+ if ($dc==0 && $dr==0) {
+ next;
+ }
+ if ($c+$dc < 0 || $c+$dc > $mc) {
+ next;
+ }
+ if (@n[$r+$dr][$c+$dc] eq 'X') {
+ $isolated=0;
+ last;
+ }
+ }
+ }
+ if ($isolated) {
+ $isol++;
+ }
+ }
+ }
+ return $isol;
+} \ No newline at end of file
diff --git a/stats/pwc-challenge-075.json b/stats/pwc-challenge-075.json
index 86dd9287ad..4e6688b474 100644
--- a/stats/pwc-challenge-075.json
+++ b/stats/pwc-challenge-075.json
@@ -1,7 +1,6 @@
{
"series" : [
{
- "colorByPoint" : 1,
"data" : [
{
"drilldown" : "Adam Russell",
@@ -9,14 +8,14 @@
"name" : "Adam Russell"
},
{
- "name" : "Alex Mauney",
"y" : 2,
+ "name" : "Alex Mauney",
"drilldown" : "Alex Mauney"
},
{
- "drilldown" : "Alexander Pankoff",
"y" : 2,
- "name" : "Alexander Pankoff"
+ "name" : "Alexander Pankoff",
+ "drilldown" : "Alexander Pankoff"
},
{
"y" : 5,
@@ -29,19 +28,24 @@
"drilldown" : "Arne Sommer"
},
{
- "drilldown" : "Athanasius",
"y" : 4,
- "name" : "Athanasius"
+ "name" : "Athanasius",
+ "drilldown" : "Athanasius"
+ },
+ {
+ "drilldown" : "Bob Lied",
+ "name" : "Bob Lied",
+ "y" : 2
},
{
"drilldown" : "Cheok-Yin Fung",
- "y" : 4,
- "name" : "Cheok-Yin Fung"
+ "name" : "Cheok-Yin Fung",
+ "y" : 4
},
{
- "drilldown" : "Colin Crain",
"y" : 5,
- "name" : "Colin Crain"
+ "name" : "Colin Crain",
+ "drilldown" : "Colin Crain"
},
{
"drilldown" : "Dave Jacoby",
@@ -49,14 +53,14 @@
"y" : 2
},
{
+ "drilldown" : "Duncan C. White",
"y" : 2,
- "name" : "Duncan C. White",
- "drilldown" : "Duncan C. White"
+ "name" : "Duncan C. White"
},
{
- "y" : 2,
+ "drilldown" : "E. Choroba",
"name" : "E. Choroba",
- "drilldown" : "E. Choroba"
+ "y" : 2
},
{
"y" : 2,
@@ -64,39 +68,39 @@
"drilldown" : "James Smith"
},
{
- "y" : 2,
+ "drilldown" : "Jan Krnavek",
"name" : "Jan Krnavek",
- "drilldown" : "Jan Krnavek"
+ "y" : 2
},
{
"drilldown" : "Jason Messer",
- "name" : "Jason Messer",
- "y" : 2
+ "y" : 2,
+ "name" : "Jason Messer"
},
{
- "y" : 5,
"name" : "Javier Luque",
+ "y" : 5,
"drilldown" : "Javier Luque"
},
{
- "name" : "Jorg Sommrey",
+ "drilldown" : "Jorg Sommrey",
"y" : 2,
- "drilldown" : "Jorg Sommrey"
+ "name" : "Jorg Sommrey"
},
{
- "drilldown" : "Laurent Rosenfeld",
+ "y" : 5,
"name" : "Laurent Rosenfeld",
- "y" : 5
+ "drilldown" : "Laurent Rosenfeld"
},
{
+ "drilldown" : "Lubos Kolouch",
"name" : "Lubos Kolouch",
- "y" : 2,
- "drilldown" : "Lubos Kolouch"
+ "y" : 2
},
{
"drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari",
- "y" : 4
+ "y" : 4,
+ "name" : "Luca Ferrari"
},
{
"drilldown" : "Mark Anderson",
@@ -104,49 +108,49 @@
"y" : 2
},
{
- "name" : "Markus Holzer",
"y" : 2,
+ "name" : "Markus Holzer",
"drilldown" : "Markus Holzer"
},
{
- "drilldown" : "Mohammad S Anwar",
"name" : "Mohammad S Anwar",
- "y" : 7
+ "y" : 7,
+ "drilldown" : "Mohammad S Anwar"
},
{
- "name" : "Myoungjin Jeon",
"y" : 4,
+ "name" : "Myoungjin Jeon",
"drilldown" : "Myoungjin Jeon"
},
{
- "drilldown" : "Niels van Dijke",
"name" : "Niels van Dijke",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "Niels van Dijke"
},
{
- "drilldown" : "Noud Aldenhoven",
+ "y" : 2,
"name" : "Noud Aldenhoven",
- "y" : 2
+ "drilldown" : "Noud Aldenhoven"
},
{
- "name" : "Nuno Vieira",
"y" : 2,
+ "name" : "Nuno Vieira",
"drilldown" : "Nuno Vieira"
},
{
- "drilldown" : "Pete Houston",
"y" : 2,
- "name" : "Pete Houston"
+ "name" : "Pete Houston",
+ "drilldown" : "Pete Houston"
},
{
- "name" : "Roger Bell_West",
"y" : 5,
+ "name" : "Roger Bell_West",
"drilldown" : "Roger Bell_West"
},
{
"drilldown" : "Shahed Nooshmand",
- "name" : "Shahed Nooshmand",
- "y" : 3
+ "y" : 3,
+ "name" : "Shahed Nooshmand"
},
{
"drilldown" : "Shawn Wagner",
@@ -160,28 +164,28 @@
},
{
"drilldown" : "Simon Proctor",
- "name" : "Simon Proctor",
- "y" : 2
+ "y" : 2,
+ "name" : "Simon Proctor"
},
{
"drilldown" : "Ulrich Rieke",
- "name" : "Ulrich Rieke",
- "y" : 2
+ "y" : 2,
+ "name" : "Ulrich Rieke"
},
{
- "drilldown" : "Walt Mankowski",
"name" : "Walt Mankowski",
- "y" : 3
+ "y" : 3,
+ "drilldown" : "Walt Mankowski"
},
{
"drilldown" : "Wanderdoc",
- "y" : 2,
- "name" : "Wanderdoc"
+ "name" : "Wanderdoc",
+ "y" : 2
},
{
- "drilldown" : "William West",
"y" : 1,
- "name" : "William West"
+ "name" : "William West",
+ "drilldown" : "William West"
},
{
"y" : 2,
@@ -189,12 +193,36 @@
"drilldown" : "Yet Ebreo"
}
],
+ "colorByPoint" : 1,
"name" : "Perl Weekly Challenge - 075"
}
],
+ "chart" : {
+ "type" : "column"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 075"
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
+ },
+ "subtitle" : {