21 lines
519 B
Swift
21 lines
519 B
Swift
import Foundation
|
|
|
|
let input = try String(contentsOfFile: CommandLine.arguments[1])
|
|
let commandPattern = try Regex(#"mul\(([0-9]+),([0-9]+)\)|don't\(\)|do\(\)"#)
|
|
|
|
var enabled: Bool = true
|
|
var sum: Int = 0
|
|
for cmd in input.matches(of: commandPattern) {
|
|
switch cmd.output[0].substring {
|
|
case "don't()":
|
|
enabled = false
|
|
case "do()":
|
|
enabled = true
|
|
default:
|
|
if enabled {
|
|
sum += Int(cmd.output[1].substring!)! * Int(cmd.output[2].substring!)!
|
|
}
|
|
}
|
|
}
|
|
print(sum)
|