Thread Präfixe aus Liste herausarbeiten
(11 answers)
Opened by Philipp at 2012-01-30 22:06
Für jede mindestens einstellige Zahl x:
- Wenn im Array mindestens einmal jede Zahl 10 * x + n mit n = 0..9 vorhanden ist: Speichere x einmal - Sonst: Speichere Arrayelement unverändert. - Gib gespeicherte Liste alphabetisch sortiert aus. Ist das richtig verstanden? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 use warnings; use strict; my @data = qw( 21112340 21112341 21112342 21112343 21112344 21112345 21112346 21112347 21112348 21112349 21112350 21112351 512340 512341 512342 512343 512344 512345 512346 512347 512348 512349 512350 512351 ); my %test; my @new; for my $item (@data) { next if $item !~ /^\d{2,}$/; my $suffix = chop($item); $test{$item}{$suffix}++; } for my $base (keys %test) { if (scalar(keys %{$test{$base}}) == 10) { push @new, $base; } else { push @new, $base.$_ for keys %{$test{$base}}; } } print "$_\n" for sort @new; Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
|