Thread Präfixe aus Liste herausarbeiten (11 answers)
Opened by Philipp at 2012-01-30 22:06

FIFO
 2012-02-04 18:56
#155867 #155867
User since
2005-06-01
469 Artikel
BenutzerIn

user image
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"

View full thread Präfixe aus Liste herausarbeiten