Skip to content

Commit ac73b6f

Browse files
committed
use slice instead of dynamic array
1 parent bb70c2a commit ac73b6f

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/adventofcode2024/day01.odin

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,29 @@ import "core:strconv"
77
import "core:strings"
88

99
main :: proc() {
10-
x, y: [dynamic]int
11-
defer {delete(x);delete(y)}
12-
1310
data, ok := os.read_entire_file("resources/2024/day01-input.txt")
1411
if !ok do return
1512
defer delete(data)
1613

17-
it := string(data)
18-
for line in strings.split_lines_iterator(&it) {
14+
lines := strings.split_lines(strings.trim_right_space(string(data)))
15+
16+
x := make([]int, len(lines))
17+
y := make([]int, len(lines))
18+
defer {delete(x);delete(y)}
19+
20+
for line, idx in lines {
1921
s := strings.split(line, " ")
20-
append(&x, strconv.atoi(s[0]))
21-
append(&y, strconv.atoi(s[1]))
22+
x[idx] = strconv.atoi(s[0])
23+
y[idx] = strconv.atoi(s[1])
2224
}
2325

24-
part1_result := part1(x[:], y[:])
26+
part1_result := part1(x, y)
2527
fmt.println(part1_result) // 1765812
2628

27-
part2_result := part2(x[:], y[:])
29+
part2_result := part2(x, y)
2830
fmt.println(part2_result) // 20520794
2931

30-
fmt.println(calculate_similarity_score(x[:], y[:])) // 20520794
32+
fmt.println(calculate_similarity_score(x, y)) // 20520794
3133
}
3234

3335
part1 :: proc(x, y: []int) -> int {

0 commit comments

Comments
 (0)