Advent of Code 2024 Go - Day 5: Print Queue

  Рет қаралды 405

Josh Ackland

Josh Ackland

Күн бұрын

Пікірлер: 1
@WayneBagguley
@WayneBagguley 5 күн бұрын
Part 1: fun calc(input: List): Int { val rules = input[0].split(" ").groupBy({ it.split("|")[0] }) { it.substringAfter("|") } val updates = input[1].split(" ").map { it.split(",") } return updates.filter { isValid(rules, it) }.sumOf { it[it.size/2].toInt() } } private fun isValid(rules: Map, update: List): Boolean = update.map { s -> update.dropWhile { it != s } }.dropLast(1).all { l -> l.drop(1).all { rules[l.first()]?.contains(it) == true } } Part 2: fun calc(input: List): Int { val rules = input[0].split(" ").groupBy({ it.split("|")[0] }) { it.substringAfter("|") } val incorrect = input[1].split(" ").map { it.split(",") }.filter { !isValid(rules, it) } val sorted = incorrect.map { it.sortedWith { a, b -> if (rules[a]?.contains(b) == true) 1 else if (rules[b]?.contains(a) == true) -1 else 0 } } return sorted.sumOf { it[it.size/2].toInt() } } private fun isValid(rules: Map, update: List): Boolean = update.map { s -> update.dropWhile { it != s } }.dropLast(1).all { l -> l.drop(1).all { rules[l.first()]?.contains(it) == true } } I 💜 Kotlin!
Day 6: Guard Gallivant | Advent of Code 2024
23:39
William Y. Feng
Рет қаралды 2 М.
Advent of Code 2024, Tag 5:  Print Queue
27:00
Gravitar
Рет қаралды 299
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,1 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 44 МЛН
Thank you Santa
00:13
Nadir Show
Рет қаралды 59 МЛН
Advent of Code 2024 Go - Day 9: Disk Fragmenter
22:32
Josh Ackland
Рет қаралды 200
Day 5: Print Queue | Advent of Code 2024
26:28
William Y. Feng
Рет қаралды 2,2 М.
Advent of Code 2024 Go - Day 7: Bridge Repair
13:29
Josh Ackland
Рет қаралды 258
Unintuitive behaviors of React Hooks
16:26
Theo - t3․gg
Рет қаралды 23 М.
Day 2 | Advent of Code 2024 | Better Time Complexity
15:14
Errichto Algorithms
Рет қаралды 10 М.
day 01 - advent of code 2024
17:14
chris biscardi
Рет қаралды 11 М.
Day 5 | Advent of Code 2024
20:56
Errichto Algorithms
Рет қаралды 4,3 М.
Advent of Neovim: Why Neovim?
10:21
TJ DeVries
Рет қаралды 42 М.
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,1 МЛН