diff options
| author | Adam Russell <ac.russell@live.com> | 2021-06-18 23:54:15 -0400 |
|---|---|---|
| committer | Adam Russell <ac.russell@live.com> | 2021-06-18 23:54:15 -0400 |
| commit | 91626ea5c5961030a54122d39b2aa2d3be8493b7 (patch) | |
| tree | e79880f58c1a9cf80eed53e21cca23628e8fd17a | |
| parent | 7f2dc459a0e72e2d1bed64b9af06588dc47cfcd8 (diff) | |
| download | perlweeklychallenge-club-91626ea5c5961030a54122d39b2aa2d3be8493b7.tar.gz perlweeklychallenge-club-91626ea5c5961030a54122d39b2aa2d3be8493b7.tar.bz2 perlweeklychallenge-club-91626ea5c5961030a54122d39b2aa2d3be8493b7.zip | |
task #1 solution
| -rw-r--r-- | challenge-117/adam-russell/perl/ch-1.pl | 108 |
1 files changed, 35 insertions, 73 deletions
diff --git a/challenge-117/adam-russell/perl/ch-1.pl b/challenge-117/adam-russell/perl/ch-1.pl index 56c6e7048a..bd250abf34 100644 --- a/challenge-117/adam-russell/perl/ch-1.pl +++ b/challenge-117/adam-russell/perl/ch-1.pl @@ -1,78 +1,40 @@ -use constant TRIANGLE_TOP => q|/\\| ; -use constant TRIANGLE_BOTTOM => q|/__\\|; - -sub print_triangle_3{ - my($n) = @_; - print " " x 5; - print TRIANGLE_TOP x 1; - print "\n"; - print " " x4; - print TRIANGLE_BOTTOM x 1; - print "\n"; - - print " " ." " . " ".TRIANGLE_TOP . " " . " " .TRIANGLE_TOP ; - print "\n"; - print " ". " ".TRIANGLE_BOTTOM . TRIANGLE_BOTTOM; - print "\n"; - - print " " .TRIANGLE_TOP . " ". " ".TRIANGLE_TOP . " ". " ". TRIANGLE_TOP; - print "\n"; - print TRIANGLE_BOTTOM . TRIANGLE_BOTTOM .TRIANGLE_BOTTOM; - print "\n"; - -} - -sub print_triangle_2{ - my($n) = @_; - print " " x 4; - print TRIANGLE_TOP x 1; - print "\n"; - print " " x3; - print TRIANGLE_BOTTOM x 1; - print "\n"; - - print " " x1; - print " " .TRIANGLE_TOP . " " . " " .TRIANGLE_TOP; - print "\n"; - print " ".TRIANGLE_BOTTOM . TRIANGLE_BOTTOM; - print "\n"; - +use strict; +use warnings; +## +# You are given text file with rows numbered 1-15 in +# random order but there is a catch one row in missing in the file. +# Write a script to find the missing row number. +## +sub find_missing{ + my(@numbers) = sort {$a <=> $b} @_; + for(my $i=0; $i< @numbers - 1; $i++){ + return $numbers[$i] + 1 if $numbers[$i] != $numbers[$i + 1] - 1; + } } -sub print_triangle{ - my($n) = @_; - my $top = TRIANGLE_TOP . " "; - for my $i (1 .. $n ){ - print " "; - print " " x ($n - $i); - print $top x $i ; - print "\n"; - print " " x ($n - $i ); - print TRIANGLE_BOTTOM x ($i ); - print "\n"; +MAIN:{ + my @line_numbers; + while(<DATA>){ + chomp; + m/([0-9]+),.*/; + push @line_numbers, $1; } + my $missing = find_missing(@line_numbers); + print "$missing\n"; } -MAIN:{ - print_triangle(1); - print "\n"; - print "\n"; - print_triangle(2); - print "\n"; - print "\n"; - print_triangle(3); - print "\n"; - print "\n"; - print_triangle(4); - print "\n"; - print "\n"; - print_triangle(7); - print "\n"; - print "\n"; - print_triangle(10); - print "\n"; - print "\n"; - print_triangle(20); - print "\n"; - print "\n"; -} +__DATA__ +11, Line Eleven +1, Line one +9, Line Nine +13, Line Thirteen +2, Line two +6, Line Six +8, Line Eight +10, Line Ten +7, Line Seven +4, Line Four +14, Line Fourteen +3, Line three +15, Line Fifteen +5, Line Five |
