From 681f00c79a1343e0cf7b032932232193ebaa38bd Mon Sep 17 00:00:00 2001 From: BarrOff <58253563+BarrOff@users.noreply.github.com> Date: Sun, 11 May 2025 21:53:15 +0200 Subject: feat: add solutions for challenge 320 from BarrOff --- challenge-320/barroff/bqn/ch-1.bqn | 7 +++++++ challenge-320/barroff/bqn/ch-2.bqn | 9 +++++++++ challenge-320/barroff/raku/ch-1.p6 | 25 +++++++++++++++++++++++++ challenge-320/barroff/raku/ch-2.p6 | 24 ++++++++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 challenge-320/barroff/bqn/ch-1.bqn create mode 100644 challenge-320/barroff/bqn/ch-2.bqn create mode 100644 challenge-320/barroff/raku/ch-1.p6 create mode 100644 challenge-320/barroff/raku/ch-2.p6 diff --git a/challenge-320/barroff/bqn/ch-1.bqn b/challenge-320/barroff/bqn/ch-1.bqn new file mode 100644 index 0000000000..6d4c23aaf0 --- /dev/null +++ b/challenge-320/barroff/bqn/ch-1.bqn @@ -0,0 +1,7 @@ +#/usr/bin/env bqn + +MaximumCount ← (+´0⊸<)⌈(+´0⊸>) + +•Show MaximumCount ⟨-3, -2, -1, 1, 2, 3⟩ +•Show MaximumCount ⟨-2, -1, 0, 0, 1⟩ +•Show MaximumCount ⟨1, 2, 3, 4⟩ diff --git a/challenge-320/barroff/bqn/ch-2.bqn b/challenge-320/barroff/bqn/ch-2.bqn new file mode 100644 index 0000000000..242be9da5b --- /dev/null +++ b/challenge-320/barroff/bqn/ch-2.bqn @@ -0,0 +1,9 @@ +#/usr/bin/env bqn + +DigitSum ← { (10|𝕩) + (0⊸<)◶ 0‿𝕊 𝕩(⌊∘÷)10 } +SumDifference ← +´-(+´ DigitSum¨) + +•Show SumDifference 1‿23‿4‿5 +•Show SumDifference 1‿2‿3‿4‿5 +•Show SumDifference 1‿2‿34 +•Show SumDifference 236‿416‿336‿350 diff --git a/challenge-320/barroff/raku/ch-1.p6 b/challenge-320/barroff/raku/ch-1.p6 new file mode 100644 index 0000000000..6a4395921b --- /dev/null +++ b/challenge-320/barroff/raku/ch-1.p6 @@ -0,0 +1,25 @@ +#!/usr/bin/env raku + +use v6.d; + +sub maximum-count(@ints --> Int) { + my $p-digits = grep({ $_ > 0 }, @ints).elems; + my $n-digits = grep({ $_ < 0 }, @ints).elems; + return max($p-digits, $n-digits); +} + +#| Run test cases +multi sub MAIN('test') { + use Test; + plan 3; + + is maximum-count([-3, -2, -1, 1, 2, 3]), 3, + 'works for "[-3, -2, -1, 1, 2, 3]"'; + is maximum-count([-2, -1, 0, 0, 1]), 2, 'works for "[-2, -1, 0, 0, 1]"'; + is maximum-count([1, 2, 3, 4]), 4, 'works for "[1, 2, 3, 4]"'; +} + +#| Take user provided numbers like 3, 30, 34, 5, 9 +multi sub MAIN(*@ints) { + say maximum-count(@ints); +} diff --git a/challenge-320/barroff/raku/ch-2.p6 b/challenge-320/barroff/raku/ch-2.p6 new file mode 100644 index 0000000000..9d7fd3a16c --- /dev/null +++ b/challenge-320/barroff/raku/ch-2.p6 @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +use v6.d; + +sub sum-difference(@ints --> Int) { + my Int $es = sum(@ints); + my Int $ds = sum(@ints.join.comb); + return abs($es - $ds); +} + +#| Run test cases +multi sub MAIN('test') { + use Test; + plan 3; + + is sum-difference([1, 23, 4, 5]), 18, 'works for "[1, 23, 4, 5]"'; + is sum-difference([1, 2, 3, 4, 5]), 0, 'works for "[1, 2, 3, 4, 5]"'; + is sum-difference([1, 2, 34]), 27, 'works for "[1, 2, 34]"'; +} + +#| Take user provided numbers like 3, 30, 34, 5, 9 +multi sub MAIN(*@ints) { + say sum-difference(@ints); +} -- cgit