aboutsummaryrefslogtreecommitdiff
path: root/challenge-092
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2020-12-22 14:30:16 -0600
committerLuis Mochan <mochan@fis.unam.mx>2020-12-22 14:30:16 -0600
commit71e734c81dd51e9fb5b9549c9cfe45d65ff6695e (patch)
tree6c360c2b757a4c3e0cf4195735756f92104d70cc /challenge-092
parentce8ada5dcbc277ebc53d091fe7b46931c0f4396c (diff)
downloadperlweeklychallenge-club-71e734c81dd51e9fb5b9549c9cfe45d65ff6695e.tar.gz
perlweeklychallenge-club-71e734c81dd51e9fb5b9549c9cfe45d65ff6695e.tar.bz2
perlweeklychallenge-club-71e734c81dd51e9fb5b9549c9cfe45d65ff6695e.zip
Remove programs from wrong directory
Diffstat (limited to 'challenge-092')
-rwxr-xr-xchallenge-092/wlmb/ch-1.pl27
-rwxr-xr-xchallenge-092/wlmb/ch-2.pl46
2 files changed, 0 insertions, 73 deletions
diff --git a/challenge-092/wlmb/ch-1.pl b/challenge-092/wlmb/ch-1.pl
deleted file mode 100755
index e3bbfb1718..0000000000
--- a/challenge-092/wlmb/ch-1.pl
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env perl
-# Perl weekly challenge 092
-# Task 1: Isomorphic strings.
-# Test if two or more strings are isomorphic
-# See https:/wlmb.github.io/2020/12/14/PWC92/#task-1-isomorphic-strings
-use warnings;
-use strict;
-use v5.10;
-
-die "Usage ./ch-1.pl s0 s1 ... to compare two or more strings s0 s1 ..." unless @ARGV>=2;
-
-my $first_string=shift @ARGV;
-my $first_canon=canonical_form_of($first_string);
-my $first_non_isomorphic;
-while(my $string=shift @ARGV){
- $first_non_isomorphic=$string, last
- unless $first_canon eq canonical_form_of($string);
-}
-say $first_non_isomorphic
- ? "0: $first_string and $first_non_isomorphic are not isomorphic"
- : "1: All strings are mutually isomorphic";
-
-sub canonical_form_of {
- my %map;
- my $current_letter="a";
- my $canon=join '', map {$map{$_}//($map{$_}=$current_letter++)} split //, shift;
-}
diff --git a/challenge-092/wlmb/ch-2.pl b/challenge-092/wlmb/ch-2.pl
deleted file mode 100755
index 41830b8654..0000000000
--- a/challenge-092/wlmb/ch-2.pl
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env perl
-# Perl weekly challenge 092
-# Task 2: Insert interval.
-# Make a sorted list of non-overlapping intervals by adding or merging new intervals.
-# See https:/wlmb.github.io/2020/12/14/PWC92/#task-2-insert-interval
-use warnings;
-use strict;
-use v5.10;
-use Scalar::Util qw(looks_like_number);
-use List::Util qw(first min max);
-
-my @intervals;
-foreach(split ' ', shift @ARGV){
- usage() unless /^\((.*),(.*)\)$/
- and looks_like_number($1) and looks_like_number($2)
- and $1<$2;
- add_interval([$1,$2]);
-}
-# print the results
-print_interval($_) foreach(@intervals);
-say '';
-
-# add interval to ordered @intervals array merging overlapping intervals
-sub add_interval {
- my $interval=shift;
- my $first=first {$interval->[0]<$intervals[$_][1]} (0..$#intervals);
- my $last=first {$interval->[1]>$intervals[$_][0]} reverse(0..$#intervals);
- push(@intervals, $interval), return unless defined $first;
- unshift(@intervals, $interval), return unless defined $last;
- splice(@intervals, $first, 0, $interval), return if $last<$first;
- splice @intervals, $first, $last+1-$first,
- [min($intervals[$first][0], $interval->[0]),
- max($intervals[$last][1], $interval->[1])];
-}
-
-sub print_interval {
- my $interval=shift @_;
- print "($interval->[0],$interval->[1]) ";
-}
-sub usage {
- say <<'END_USAGE';
-Usage: ./ch-2.pl "(l0,u0) (l1,u1),..."
-where ln<un are numbers and there is no space within the parenthesis.
-END_USAGE
- exit 1;
-}