+1
.gitignore
+1
.gitignore
+15
-22
src/days/day01.gleam
+15
-22
src/days/day01.gleam
···
1
import gleam/int
2
import gleam/io
3
import gleam/list
4
import gleam/string
5
6
pub fn part1(input: String) -> String {
7
-
int.to_string(solve_claude(input))
8
-
}
9
-
10
-
pub fn part2(input: String) -> String {
11
-
// TODO: Implement part 2
12
-
"Not implemented"
13
-
}
14
-
15
-
pub fn solve(input: String) -> Nil {
16
-
io.println("Day 1:")
17
-
io.println("Part 1: " <> part1(input))
18
-
io.println("Part 2: " <> part2(input))
19
-
}
20
-
21
-
pub fn solve_claude(input: String) -> Int {
22
let rotations = parse_input(input)
23
let #(_, zero_count) =
24
list.fold(rotations, #(50, 0), fn(state, rotation) {
···
30
}
31
#(new_position, new_count)
32
})
33
-
zero_count
34
}
35
36
fn parse_input(input: String) -> List(#(String, Int)) {
···
59
"R" -> position + distance
60
_ -> position
61
}
62
-
// Handle wrapping around 0-99
63
-
let wrapped = new_position % 100
64
-
case wrapped < 0 {
65
-
True -> wrapped + 100
66
-
False -> wrapped
67
-
}
68
}
···
1
import gleam/int
2
import gleam/io
3
import gleam/list
4
+
import gleam/result
5
import gleam/string
6
7
pub fn part1(input: String) -> String {
8
let rotations = parse_input(input)
9
let #(_, zero_count) =
10
list.fold(rotations, #(50, 0), fn(state, rotation) {
···
16
}
17
#(new_position, new_count)
18
})
19
+
int.to_string(zero_count)
20
+
}
21
+
22
+
pub fn part2(_input: String) -> String {
23
+
// TODO: Implement part 2
24
+
"Not implemented"
25
+
}
26
+
27
+
pub fn solve(input: String) -> Nil {
28
+
io.println("Day 1:")
29
+
io.println("Part 1: " <> part1(input))
30
+
io.println("Part 2: " <> part2(input))
31
}
32
33
fn parse_input(input: String) -> List(#(String, Int)) {
···
56
"R" -> position + distance
57
_ -> position
58
}
59
+
60
+
int.modulo(new_position, 100) |> result.unwrap(new_position)
61
}
+2
-3
src/days/day02.gleam
+2
-3
src/days/day02.gleam
+2
-3
src/days/day03.gleam
+2
-3
src/days/day03.gleam
+2
-3
src/days/day04.gleam
+2
-3
src/days/day04.gleam
+2
-3
src/days/day05.gleam
+2
-3
src/days/day05.gleam
+2
-3
src/days/day06.gleam
+2
-3
src/days/day06.gleam
+2
-3
src/days/day07.gleam
+2
-3
src/days/day07.gleam
+2
-3
src/days/day08.gleam
+2
-3
src/days/day08.gleam
+2
-3
src/days/day09.gleam
+2
-3
src/days/day09.gleam
+2
-3
src/days/day10.gleam
+2
-3
src/days/day10.gleam
+2
-3
src/days/day11.gleam
+2
-3
src/days/day11.gleam
+2
-3
src/days/day12.gleam
+2
-3
src/days/day12.gleam
+2
-3
src/days/day13.gleam
+2
-3
src/days/day13.gleam
+2
-3
src/days/day14.gleam
+2
-3
src/days/day14.gleam
+2
-3
src/days/day15.gleam
+2
-3
src/days/day15.gleam
+2
-3
src/days/day16.gleam
+2
-3
src/days/day16.gleam
+2
-3
src/days/day17.gleam
+2
-3
src/days/day17.gleam
+2
-3
src/days/day18.gleam
+2
-3
src/days/day18.gleam
+2
-3
src/days/day19.gleam
+2
-3
src/days/day19.gleam
+2
-3
src/days/day20.gleam
+2
-3
src/days/day20.gleam
+2
-3
src/days/day21.gleam
+2
-3
src/days/day21.gleam
+2
-3
src/days/day22.gleam
+2
-3
src/days/day22.gleam
+2
-3
src/days/day23.gleam
+2
-3
src/days/day23.gleam
+2
-3
src/days/day24.gleam
+2
-3
src/days/day24.gleam
+2
-3
src/days/day25.gleam
+2
-3
src/days/day25.gleam
+2
-4
test/aoc2025_gleam_test.gleam
+2
-4
test/aoc2025_gleam_test.gleam
···
1
-
import days/day01
2
-
import days/day02
3
import gleeunit
4
5
pub fn main() -> Nil {
···
8
9
// Example test for day01
10
pub fn day01_part1_test() {
11
-
let example_input = ""
12
// Add your example input here
13
// assert day01.part1(example_input) == "expected_result"
14
}
15
16
// Example test for day01 part 2
17
pub fn day01_part2_test() {
18
-
let example_input = ""
19
// Add your example input here
20
// assert day01.part2(example_input) == "expected_result"
21
}
···
1
import gleeunit
2
3
pub fn main() -> Nil {
···
6
7
// Example test for day01
8
pub fn day01_part1_test() {
9
+
let _example_input = ""
10
// Add your example input here
11
// assert day01.part1(example_input) == "expected_result"
12
}
13
14
// Example test for day01 part 2
15
pub fn day01_part2_test() {
16
+
let _example_input = ""
17
// Add your example input here
18
// assert day01.part2(example_input) == "expected_result"
19
}