diff --git a/app/src/main/kotlin/day02/Day02.kt b/app/src/main/kotlin/day02/Day02.kt new file mode 100644 index 0000000..77fb071 --- /dev/null +++ b/app/src/main/kotlin/day02/Day02.kt @@ -0,0 +1,56 @@ +package day02 + +import kotlin.math.abs + +class Day02 { + fun parse(input: String): List> { + return input.lines().map { it.split(" ").map { it.toInt() } } + } + + fun part1(input: String): Int { + val parsed = parse(input) + + var safeCount = 0; + for (line in parsed) { + if (isSafe(line)) { + safeCount += 1 + } + } + return safeCount + } + + fun isSafe(line: List): Boolean { + var neg = line[0] - line[1] < 0 + for (i in 1.. 3 || abs(diff) < 1) { + return false + } + if ((diff < 0 && !neg) || (diff > 0 && neg)) { + return false + } + } + return true + } + + fun part2(input: String): Int { + val parsed = parse(input) + + var safeCount = 0; + for (line in parsed) { + if (isSafe(line)) { + safeCount += 1 + continue + } + + for (i in 0..