aboutsummaryrefslogtreecommitdiff
path: root/challenge-046/simon-proctor/raku/ch-1.p6
blob: 0996db054e111825aa5b46df556b88867642053a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env raku

my @test1 = (<H x l 4 !>,
             <c e - l o>,
             <z e 6 l g>,
             <H W l v R>,
             <q 9 m # o>);

die "Decoder is bust" unless decode-message( @test1 ) ~~ "Hello";

my @message = (
    <P + 2 l ! a t o>,
    <1 e 8 0 R $ 4 u>,
    <5 - r ] + a \> />,
    <P x w l b 3 k \\>,
    <2 e 3 5 R 8 y u>,
    <\< ! r ^ ( ) k 0>,
    );

say decode-message( @message );

sub decode-message( $data ) {
    zip( $data.List ).map( { Bag.new($_) } ).map( *.pairs.sort( { $^b.value cmp $^a.value } ).first.key ).join("")
}