aboutsummaryrefslogtreecommitdiff
path: root/ch-2.pl
diff options
context:
space:
mode:
authorFung Cheok Yin <61836418+E7-87-83@users.noreply.github.com>2020-04-26 18:36:29 +0800
committerGitHub <noreply@github.com>2020-04-26 18:36:29 +0800
commit4334b3fc883c60197c387ce38f348645be607ea7 (patch)
treead4750c6a434118fd6a7fc4e6a3f21d5589f14ca /ch-2.pl
parentc9fc890ec1544054a9ea2a259ede01061bfdba4c (diff)
downloadperlweeklychallenge-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.pl49
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]);
-}