Dag: 1
Språk: Windows PowerShell
param(
$inputfile
)
if( -not $inputfile ){ $inputdata = Get-Content -Path "$PSScriptRoot\input.txt" }
else { $inputdata = Get-Content -Path $inputfile }
function Get-Numbers {
param(
[array]$inputdata
)
$returnArray = @()
$inputdata | ForEach-Object {
$returnArray += [pscustomobject]@{
original = $psitem
numbersOnly = $( -join( (($PSItem -replace "[^0-9]" , '').ToCharArray() | Select-Object -First 1), (($PSItem -replace "[^0-9]" , '').ToCharArray() | Select-Object -Last 1) ) )
}
}
return $returnArray
}
$part2 = $inputdata -replace "one","o1e"
$part2 = $part2 -replace "two","t2o"
$part2 = $part2 -replace "three","t3e"
$part2 = $part2 -replace "four","f4r"
$part2 = $part2 -replace "five","f5e"
$part2 = $part2 -replace "six","s6x"
$part2 = $part2 -replace "seven","s7n"
$part2 = $part2 -replace "eight","e8t"
$part2 = $part2 -replace "nine","n9e"
Write-Host "Part 1: $( ((Get-Numbers -inputdata $inputdata).numbersOnly | measure-object -sum).sum)"
Write-Host "Part 2: $( ((Get-Numbers -inputdata $part2).numbersOnly | measure-object -sum).sum)"
Kör igen på PowerShell.
Blev lite tagen på sängen av hur del 2 var utformad men det gick ändå. Tyckte @kode gjorde en variant jag gillade så jag snodde faktiskt den rakt av i stort sett