mers/examples/advent_of_code/2022/day3b.mers

33 lines
856 B
Plaintext
Raw Normal View History

2023-06-07 21:14:22 +02:00
input := fs_read("/tmp/pin.txt").assume_no_enum().bytes_to_string().assume_no_enum()
fn prio(s string) {
switch! "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".index_of(s) {
[] [] 0
int n n + 1
}
}
sum := 0
for group input.regex(".*\\n.*\\n.*\\n?").assume_no_enum() {
rucksacks := group.regex(".*").assume_no_enum()
a := rucksacks.get(0).assume1()
b := rucksacks.get(1).assume1()
c := rucksacks.get(2).assume1()
println(a)
println(b)
println(c)
println("---")
badge_type := for ch "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".regex(".").assume_no_enum() {
if a.contains(ch) && b.contains(ch) && c.contains(ch) {
ch
}
}
switch! badge_type {
string s &sum = sum + prio(s)
[] [] []
}
}
println("sum: " + sum.to_string())