diff options
| author | Fung Cheok Yin <61836418+E7-87-83@users.noreply.github.com> | 2020-04-26 18:36:29 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-26 18:36:29 +0800 |
| commit | 4334b3fc883c60197c387ce38f348645be607ea7 (patch) | |
| tree | ad4750c6a434118fd6a7fc4e6a3f21d5589f14ca /ch-2.pl | |
| parent | c9fc890ec1544054a9ea2a259ede01061bfdba4c (diff) | |
| download | perlweeklychallenge-club-4334b3fc883c60197c387ce38f348645be607ea7.tar.gz perlweeklychallenge-club-4334b3fc883c60197c387ce38f348645be607ea7.tar.bz2 perlweeklychallenge-club-4334b3fc883c60197c387ce38f348645be607ea7.zip | |
Rename ch-2.pl to challenge-057/cheok-yin-fung/perl/ch-2.pl
Diffstat (limited to 'ch-2.pl')
| -rw-r--r-- | ch-2.pl | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/ch-2.pl b/ch-2.pl deleted file mode 100644 index 2d628176b3..0000000000 --- a/ch-2.pl +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/perl
-use strict;
-use Scalar::Util qw/dualvar/;
-
-#Usage: $ ch-2.pl [list of words]
-#e.g. ch-2.pl alphabet book carpet cadmium cadeau alpine
-#output: alph , b , car , cadm , cade , alpi
-
-my @data = @ARGV;
-
-
-
-my $N = $#data + 1;
-
-my $i = 0;
-my @dualv_sorted = sort {$a cmp $b} map { dualvar($i++, $_) } @data;
-
-my @dualv_processed = ();
-
-my $k = 1;
-
-for (0..$N-2) {
- my $tempk = $k;
- $k = 1;
- my $first = substr($dualv_sorted[$_], 0, $k);
-
- while ($first eq substr( $dualv_sorted[$_+1], 0, $k)) {
- $k++;
- $first = substr( $dualv_sorted[$_], 0, $k);
- }
-
- $first = substr($dualv_sorted[$_], 0, max($tempk, $k));
- $dualv_processed[$_] = dualvar( $dualv_sorted[$_]+0 , "$first");
-}
-
-
- $dualv_processed[$N-1]
- = dualvar($dualv_sorted[$N-1]+0, substr($dualv_sorted[$N-1], 0, $k));
-
-
-print join " , ", (sort {$a <=> $b} @dualv_processed);
-
-
-
-
-
-sub max {
- return ($_[0] > $_[1] ? $_[0]: $_[1]);
-}
|
