Advent of Code 2023 day 19
12/19/2023, 5:00 AMJonathan Kolberg
12/19/2023, 5:55 AMJonathan Kolberg
12/19/2023, 6:29 AMMarcin Wisniowski
12/19/2023, 6:47 AMMax Thiele
12/19/2023, 7:07 AMJonathan Kolberg
12/19/2023, 7:08 AMbj0
12/19/2023, 7:34 AMWerner Altewischer
12/19/2023, 8:21 AMJonathan Kolberg
12/19/2023, 8:22 AMMichael de Kaste
12/19/2023, 8:27 AMval workflows: Map<String, Map<Rule, Transition>>
val parts: List<Map<String, Int>>
where Rule is sealed that is either
data object Just : Rule
data class Check(variable, value, compare)
and Transition is sealed that is either
data class Next(val input: String)
data class Accepted(val boolean: Boolean)
solving part 1 and 2 are both recursive functionsbj0
12/19/2023, 8:28 AMTomasz Linkowski
12/19/2023, 8:34 AMTomasz Linkowski
12/19/2023, 8:45 AMx
, m
, a
, s
are an easter egg: Xmas 😄ephemient
12/19/2023, 8:49 AMJaap Beetstra
12/19/2023, 9:03 AMJonathan Kolberg
12/19/2023, 9:05 AMbj0
12/19/2023, 9:07 AMJaap Beetstra
12/19/2023, 9:08 AMMax Thiele
12/19/2023, 9:23 AMJonathan Kolberg
12/19/2023, 9:29 AMrange.map { it }.size
which is way worse performance wisebj0
12/19/2023, 9:37 AMJaap Beetstra
12/19/2023, 9:44 AMIntRange.length
as well, although IntRange.count()
(which is Iterable<T>.count()
and iterates all the values) would have been fast enough here.bj0
12/19/2023, 10:00 AMbj0
12/19/2023, 10:00 AMbj0
12/19/2023, 10:02 AMbj0
12/19/2023, 10:10 AMmaxOf
to a sumOf
....Fredrik Rødland
12/19/2023, 10:15 AMjl{a>1466:R,s<2978:A,s<3574:A,A}
the same as
jl{a>1466:R,s<2978:A,A}
the same as
jl{a>1466:R,A}
or am i missing something?Jaap Beetstra
12/19/2023, 10:21 AMMax Thiele
12/19/2023, 11:01 AMdaugian
12/19/2023, 12:45 PMreturn
statement)
if (rule.size == 1) {
if (rule[0] == "A") {
result += "A" to currentRanges
}
result += doWorkflowPart2(rule[0], currentRanges)
}
Which should be this 🤦♂️
if (rule.size == 1) {
if (rule[0] == "A") {
result += "A" to currentRanges
} else if (rule[0] != "R") {
result += doWorkflowPart2(rule[0], currentRanges)
}
}
Ah well… finally done: https://github.com/jpelgrim/adventofcode/blob/main/2023/aoc_2023_kotlin/src/day19/Day19.ktRiccardo Lippolis
12/19/2023, 1:00 PMkingsley
12/19/2023, 2:15 PMPaul Woitaschek
12/19/2023, 3:05 PMMax Thiele
12/19/2023, 4:15 PMCharles Flynn
12/19/2023, 5:24 PMNeil Banman
12/19/2023, 5:33 PMMax Thiele
12/19/2023, 5:33 PMNeil Banman
12/19/2023, 5:38 PMNeil Banman
12/19/2023, 7:57 PMMichael Böiers
12/19/2023, 9:30 PMMax Thiele
12/20/2023, 12:06 AMCharles Flynn
12/20/2023, 6:35 AMMichael Böiers
12/20/2023, 7:41 AMNeil Banman
12/20/2023, 8:26 PMephemient
12/20/2023, 8:28 PMephemient
12/20/2023, 8:28 PMJonathan Kolberg
12/21/2023, 4:49 AMMichael Böiers
12/21/2023, 9:42 AMOzioma Ogbe
12/22/2023, 5:09 PMandriyo
12/23/2023, 9:16 AM