tangled
alpha
login
or
join now
m1emi1em.dev
/
aoc2025
1
fork
atom
this repo has no description
1
fork
atom
overview
issues
pulls
pipelines
Day 5 Part 1 Solution
m1emi1em.dev
3 months ago
e195f5c1
22b9e92a
+39
2 changed files
expand all
collapse all
unified
split
resources
05-test.txt
src
aoc2025
day5.clj
+11
resources/05-test.txt
···
0
0
0
0
0
0
0
0
0
0
0
···
1
+
3-5
2
+
10-14
3
+
16-20
4
+
12-18
5
+
6
+
1
7
+
5
8
+
8
9
+
11
10
+
17
11
+
32
+28
src/aoc2025/day5.clj
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
(ns aoc2025.day4
2
+
(:require [aoc2025.util :as util]
3
+
[clojure.string :refer [blank?]]))
4
+
5
+
(defn- parse-file [fname]
6
+
(letfn [(parse-range [s] (util/splarse #"-" s))]
7
+
(let [[raw-ranges _ raw-ingredients]
8
+
(->> fname util/read-file (partition-by blank?))]
9
+
{:fresh (map parse-range raw-ranges)
10
+
:ingredients (map bigint raw-ingredients)})))
11
+
12
+
(defn- part1 [{fresh-ranges :fresh ingredients :ingredients}]
13
+
(->> (for [ingredient ingredients
14
+
[start end] fresh-ranges
15
+
:when ((util/between? start end) ingredient)]
16
+
ingredient)
17
+
set
18
+
count))
19
+
20
+
(defn- part2 [a] nil)
21
+
22
+
(defn solve
23
+
([] (solve "05.txt"))
24
+
([fname]
25
+
(->> (parse-file fname) ((juxt part1 part2)))))
26
+
27
+
(solve "05-test.txt")
28
+
;(solve)