Rozhodl jsem se, že si letošní Vánoční čas zpříjemním řešením programátorských hádanek, které pro nás letos připravili na stránkách Advent of Code 2018 … jak jinak, než v Kotlinu 🙂 . Pokud se chcete pochlubit vaším kódem – ať už v jakémkoliv jazyce – nebojte se napsat do komentářů 🙂 .
Mé řešení pro část první:
fun main() { val result = File("input1.txt").readLines().sumBy { it.toInt() } println(result) }
a část druhou:
fun main() { val frequencies = sequence { val deltas = File("input1.txt").readLines().map { it.toInt() } var lastFreq = 0 while (true) { deltas.forEach { lastFreq += it yield(lastFreq) } } } val seen = mutableSetOf<Int>() for (freq in frequencies) { if (freq in seen) { println(freq) break } seen += freq } }