This commit is contained in:
2024-12-12 13:13:17 -08:00
parent 423632525d
commit cd945d2456
4 changed files with 1056 additions and 0 deletions

21
day02/d02p1.swift Normal file
View File

@@ -0,0 +1,21 @@
import Foundation
func readInput(filePath: String) -> [[Int?]]? {
let content = try? String(contentsOfFile: filePath, encoding: .ascii)
let lines = content?.split(separator: "\n")
return lines?.map { $0.split(separator: " ").map { Int($0) } }
}
func check(_ report: [Int?]) -> Bool? {
if report.contains(nil) {
return nil
}
let diffs = zip(report.dropFirst(), report).map { $0.0! - $0.1! }
return diffs.allSatisfy { abs($0) >= 1 }
&& diffs.allSatisfy { abs($0) <= 3 }
&& (diffs.allSatisfy { $0 > 0 } || diffs.allSatisfy { 0 > $0 })
}
let reports = readInput(filePath: CommandLine.arguments[1])
let answer = reports!.compactMap(check).reduce(0, {n, x in x ? n+1 : n})
print(answer)