@main def main = {
part1(input)
}
def part1(input: String) = {
val result = input.linesIterator.map((line) => {
val (first, second) = line.splitAt(line.length() / 2);
val intersectChar = List(first.toCharArray(), second.toCharArray()).reduce((a, b) => a intersect b);
val ascii = intersectChar.apply(0).toInt;
if ascii >= 97 then {
ascii - 96
} else {
ascii - 38
}
}).sum;
println("Day 3 Part 1: " + result)
}
@main def main = {
part2(input)
}
def part2(input: String) = {
val result = input.linesIterator.grouped(3).map((lines) => {
val intersectChar = lines.reduce((a, b) => a intersect b);
val ascii = intersectChar.apply(0).toInt;
if ascii >= 97 then {
ascii - 96
} else {
ascii - 38
}
}).sum;
println("Day 3 Part 2: " + result)
}