Quick actions

cmd+k|ctrl+k

Navigation

Languages

PWC #236, Task 1

Snippet info

Language

Raku

Visibility

public

Author

seaker

Created

2023-09-26T02:58:43.597729Z

Updated

2023-09-26T03:03:22.711299Z

# URL: https://theweeklychallenge.org/blog/perl-weekly-challenge-236/#TASK1

my %change is BagHash;
put so $*IN.words».&can-pay(%change).all;

my method can-pay($bill : %change --> Bool:D) {
    my $remain = $bill - 5;
    return False if $remain < 0;

    while $remain > 0 {
        my $bill_ = %change.keys.sort(-*).first(* ≤ $remain);
        return False without $bill_;

        --%change{$bill_};
        $remain -= $bill_;
    }

    ++%change{$bill};
    True
}
INFO