diff options
| author | Mark <53903062+andemark@users.noreply.github.com> | 2023-08-04 01:25:45 +0000 |
|---|---|---|
| committer | Mark <53903062+andemark@users.noreply.github.com> | 2023-08-04 01:25:45 +0000 |
| commit | 3f9621c49ae52d1698868602a9df15fb99aa5142 (patch) | |
| tree | 66cc0ec83ba2f7125f59f63846ce4e5dc90fe9b0 | |
| parent | 5e43c4f39c15b90ee1fd43b314d12472bc066587 (diff) | |
| download | perlweeklychallenge-club-3f9621c49ae52d1698868602a9df15fb99aa5142.tar.gz perlweeklychallenge-club-3f9621c49ae52d1698868602a9df15fb99aa5142.tar.bz2 perlweeklychallenge-club-3f9621c49ae52d1698868602a9df15fb99aa5142.zip | |
Challenge 228 Solutions (PowerShell)
| -rw-r--r-- | challenge-228/mark-anderson/powershell/ch-1.ps1 | 17 | ||||
| -rw-r--r-- | challenge-228/mark-anderson/powershell/ch-2.ps1 | 25 |
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-228/mark-anderson/powershell/ch-1.ps1 b/challenge-228/mark-anderson/powershell/ch-1.ps1 new file mode 100644 index 0000000000..7521fb644e --- /dev/null +++ b/challenge-228/mark-anderson/powershell/ch-1.ps1 @@ -0,0 +1,17 @@ +function Unique-Sum +{ + param($arr) + + $bag = @{ } + + foreach($n in $arr) + { + $bag[$n]++ + } + + ($bag.keys | Where { $bag[$_] -eq 1 } | Measure -Sum).Sum +} + +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/mark-anderson/powershell/ch-2.ps1 b/challenge-228/mark-anderson/powershell/ch-2.ps1 new file mode 100644 index 0000000000..38bceea588 --- /dev/null +++ b/challenge-228/mark-anderson/powershell/ch-2.ps1 @@ -0,0 +1,25 @@ +function Empty-Array +{ + param([System.Collections.ArrayList]$a) + + $total + + while($a) + { + [int]$min = ($a | Measure -Minimum).Minimum + + $i = [array]::indexof($a,$min) + + if($i -eq 0 -Or $i -eq $a.Count-1) { $a.RemoveAt($i) } + + else { $a = $a[($i+1)..($a.Count-1) + 0..($i-1)] } + + $total += $i+1 + } + + $total +} + +Empty-Array(3,4,2) # 5 +Empty-Array(1,2,3) # 3 +Empty-Array(16,17,8,15,13,11,19,5,12,6,20,2,4,10,3,14,1,7,9,18) # 127 |
