Guest User

Untitled

a guest
Dec 1st, 2024
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PowerShell 0.81 KB | Source Code | 0 0
  1. # Advent of Code 2024 Day 1 in PowerShell
  2. # Slower code.
  3. # Edit the path to the input text file
  4. # save as slower.ps1
  5. # run from powershell
  6.  
  7. measure-command {
  8.  
  9. $FileLines = Get-Content -Path C:\path\to\day1-input.txt
  10.  
  11. $Col1 = @()
  12. $Col2 = @()
  13.  
  14. $FileLines | foreach {
  15.     $num1, $num2 = -split $_
  16.     $Col1 += [int]$num1
  17.     $Col2 += [int]$num2
  18. }
  19.  
  20. [array]::Sort($Col1)
  21. [array]::Sort($Col2)
  22.  
  23.  
  24. # part 1
  25. $distances = for ($i=0; $i-lt $Col1.Count; $i++) {
  26.     $num1 = $Col1[$i]
  27.     $num2 = $Col2[$i]
  28.     [math]::Abs($num1 - $num2)
  29.  
  30. }
  31.  
  32. $Part1Sum = $distances | measure -sum |% sum
  33.  
  34. # part 2
  35. $nums = foreach ($num in $Col1) {
  36.     $num * ($Col2 -eq $num).Count
  37. }
  38. $Part2Sum = $nums | measure -sum |% sum
  39.  
  40. } | foreach { "$($_.Milliseconds) milliseconds" }
  41.  
  42. "Part 1: $Part1Sum"
  43. "Part 2: $Part2Sum"
  44.  
Tags: powershell
Advertisement
Add Comment
Please, Sign In to add comment