From f99ae8edc964cc79f9462b53d2b614f14b0f5829 Mon Sep 17 00:00:00 2001 From: Conor Hoekstra Date: Mon, 31 Jul 2023 11:18:59 -0400 Subject: Week 228P1 in Python, Rust, BQN & APL --- challenge-228/conor-hoekstra/ch-01.apl | 7 +++++++ challenge-228/conor-hoekstra/ch-01.bqn | 6 ++++++ challenge-228/conor-hoekstra/ch-01.py | 7 +++++++ challenge-228/conor-hoekstra/ch-01.rs | 14 ++++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 challenge-228/conor-hoekstra/ch-01.apl create mode 100644 challenge-228/conor-hoekstra/ch-01.bqn create mode 100644 challenge-228/conor-hoekstra/ch-01.py create mode 100644 challenge-228/conor-hoekstra/ch-01.rs diff --git a/challenge-228/conor-hoekstra/ch-01.apl b/challenge-228/conor-hoekstra/ch-01.apl new file mode 100644 index 0000000000..a7bc25997d --- /dev/null +++ b/challenge-228/conor-hoekstra/ch-01.apl @@ -0,0 +1,7 @@ +UniqueSum ← +/(∪×1=(+⌿⊢∘.=∪)) + +⍝ Tests + +UniqueSum 2 1 3 2 ⍝ 4 +UniqueSum 1 1 1 1 ⍝ 0 +UniqueSum 1 2 3 4 ⍝ 10 diff --git a/challenge-228/conor-hoekstra/ch-01.bqn b/challenge-228/conor-hoekstra/ch-01.bqn new file mode 100644 index 0000000000..060ee089ec --- /dev/null +++ b/challenge-228/conor-hoekstra/ch-01.bqn @@ -0,0 +1,6 @@ +UniqueSum ← +´⍷×1=·+˝=⌜⟜⍷ + +# Tests +UniqueSum 2‿1‿3‿2 # 4 +UniqueSum 1‿1‿1‿1 # 0 +UniqueSum 1‿2‿3‿4 # 10 diff --git a/challenge-228/conor-hoekstra/ch-01.py b/challenge-228/conor-hoekstra/ch-01.py new file mode 100644 index 0000000000..28b58a09e6 --- /dev/null +++ b/challenge-228/conor-hoekstra/ch-01.py @@ -0,0 +1,7 @@ +def unique_sum(nums): + return sum(k for k,v in Counter(nums).items() if v == 1) + +# Tests +unique_sum([2,1,3,2]) # 4 +unique_sum([1,1,1,1]) # 0 +unique_sum([2,1,3,4]) # 10 diff --git a/challenge-228/conor-hoekstra/ch-01.rs b/challenge-228/conor-hoekstra/ch-01.rs new file mode 100644 index 0000000000..be2eb5b2c2 --- /dev/null +++ b/challenge-228/conor-hoekstra/ch-01.rs @@ -0,0 +1,14 @@ +fn unique_sum(nums: Vec) -> i32 { + nums.iter() + .counts() + .iter() + .map(|(k, v)| if v == &1 { k } else { &0 }) + .sum() +} + +// Tests +fn main() { + println!("{}", unique_sum(vec![2, 1, 3, 2])); // 4 + println!("{}", unique_sum(vec![1, 1, 1, 1])); // 0 + println!("{}", unique_sum(vec![2, 1, 3, 4])); // 10 +} -- cgit From f55055faeb76ab3ed8c29167e03e7f0ed29e1ce6 Mon Sep 17 00:00:00 2001 From: Conor Hoekstra Date: Mon, 31 Jul 2023 11:19:55 -0400 Subject: remove line --- challenge-228/conor-hoekstra/ch-01.apl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/challenge-228/conor-hoekstra/ch-01.apl b/challenge-228/conor-hoekstra/ch-01.apl index a7bc25997d..ad2c531256 100644 --- a/challenge-228/conor-hoekstra/ch-01.apl +++ b/challenge-228/conor-hoekstra/ch-01.apl @@ -1,7 +1,6 @@ UniqueSum ← +/(∪×1=(+⌿⊢∘.=∪)) -⍝ Tests - +⍝ Tests UniqueSum 2 1 3 2 ⍝ 4 UniqueSum 1 1 1 1 ⍝ 0 UniqueSum 1 2 3 4 ⍝ 10 -- cgit