1
0
Files
Advent-of-Code/days/src/main/kotlin/Day06.kt
T
2020-12-07 22:31:48 +01:00

31 lines
813 B
Kotlin

package be.vandewalleh.aoc.days
import be.vandewalleh.aoc.utils.input.Day
import be.vandewalleh.aoc.utils.input.Input
import be.vandewalleh.aoc.utils.input.Text
import be.vandewalleh.aoc.utils.input.createDay
import org.eclipse.collections.impl.factory.primitive.CharBags
@Day(6)
class Day06(@Text val input: Input<String>) {
private val groups = input.value.split("\n\n")
fun part1() = groups.sumBy { it.replace("\n", "").toCharArray().toSet().size }
fun part2() = groups.sumBy {
val group = it.split("\n")
val bag = CharBags.mutable.empty()
group.forEach { chars: String -> chars.forEach { bag.add(it) } }
bag.selectByOccurrences { group.size == it }.toSet().size()
}
}
fun main() = with(createDay<Day06>()) {
println(part1())
println(part2())
}