Skip to content

Commit 7c4c87b

Browse files
authored
Krotki, day 7 (#62)
1 parent 1c5b290 commit 7c4c87b

File tree

5 files changed

+78
-0
lines changed

5 files changed

+78
-0
lines changed

2024/07/calibration.input

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
190: 10 19
2+
3267: 81 40 27
3+
83: 17 5
4+
156: 15 6
5+
7290: 6 8 6 15
6+
161011: 16 10 13
7+
192: 17 8 14
8+
21037: 9 7 18 13
9+
292: 11 6 16 20

2024/07/krotki/part1.v

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
module main
2+
3+
import os
4+
5+
fn main() {
6+
input := os.get_lines()
7+
8+
ops := ['+', '*']
9+
10+
mut sum := u64(0)
11+
for line in input {
12+
numbers := line.split(' ').map(it.u64())
13+
mut acc := [numbers[1]]
14+
for n2 in numbers[2..] {
15+
mut nacc := []u64{}
16+
for n1 in acc {
17+
for op in ops {
18+
match op {
19+
'+' { nacc << n1 + n2 }
20+
'*' { nacc << n1 * n2 }
21+
else {}
22+
}
23+
}
24+
}
25+
acc = nacc.clone()
26+
}
27+
if acc.contains(numbers[0]) {
28+
sum += numbers[0]
29+
}
30+
}
31+
32+
println(sum)
33+
}

2024/07/krotki/part2.v

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module main
2+
3+
import os
4+
5+
fn main() {
6+
input := os.get_lines()
7+
8+
ops := ['+', '*', '||']
9+
10+
mut sum := u64(0)
11+
for line in input {
12+
numbers := line.split(' ').map(it.u64())
13+
mut acc := [numbers[1]]
14+
for n2 in numbers[2..] {
15+
mut nacc := []u64{}
16+
for n1 in acc {
17+
for op in ops {
18+
match op {
19+
'+' { nacc << n1 + n2 }
20+
'*' { nacc << n1 * n2 }
21+
'||' { nacc << '${n1}${n2}'.u64() }
22+
else {}
23+
}
24+
}
25+
}
26+
acc = nacc.clone()
27+
}
28+
if acc.contains(numbers[0]) {
29+
sum += numbers[0]
30+
}
31+
}
32+
33+
println(sum)
34+
}

known/2024/07/krotki/part1.out

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3749

known/2024/07/krotki/part2.out

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
11387

0 commit comments

Comments
 (0)