From 50d9f0865d4da565eeaaeee577f1eccb448ac6d1 Mon Sep 17 00:00:00 2001 From: BarrOff <58253563+BarrOff@users.noreply.github.com> Date: Sun, 10 Aug 2025 22:26:34 +0200 Subject: feat: add solution for challenge 333 from BarrOff --- challenge-333/barroff/raku/ch-1.p6 | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 challenge-333/barroff/raku/ch-1.p6 diff --git a/challenge-333/barroff/raku/ch-1.p6 b/challenge-333/barroff/raku/ch-1.p6 new file mode 100644 index 0000000000..3b39b0b075 --- /dev/null +++ b/challenge-333/barroff/raku/ch-1.p6 @@ -0,0 +1,34 @@ +#!/usr/bin/env raku + +use v6.d; + +sub duplicate-zeros(@ints --> Positional) { + my @result = map( + { + $_ == 0 + ?? Slip.new(0, 0) + !! $_ + }, + @ints + ); + return @result[0..@ints.elems - 1]; +} + +#| Run test cases +multi sub MAIN('test') { + use Test; + plan 5; + + is duplicate-zeros([1, 0, 2, 3, 0, 4, 5, 0]), (1, 0, 0, 2, 3, 0, 0, 4), + 'works for (1, 0, 2, 3, 0, 4, 5, 0)'; + is duplicate-zeros([1, 2, 3]), (1, 2, 3), 'works for (1, 2, 3)'; + is duplicate-zeros([1, 2, 3, 0]), (1, 2, 3, 0), 'works for (1, 2, 3, 0)'; + is duplicate-zeros([0, 0, 1, 2]), (0, 0, 0, 0), 'works for (0, 0, 1, 2)'; + is duplicate-zeros([1, 2, 0, 3, 4]), (1, 2, 0, 0, 3), + 'works for (1, 2, 0, 3, 4)'; +} + +#| Take user provided list like 1 0 2 3 0 4 5 0 +multi sub MAIN(*@ints where @ints.elems ≥ 1) { + say duplicate-zeros(@ints); +} -- cgit