Skip to content

Commit 717e2be

Browse files
committed
2024 05 (uiua) refactor
1 parent 1446cb3 commit 717e2be

File tree

1 file changed

+28
-44
lines changed

1 file changed

+28
-44
lines changed

Diff for: 2024/day-05/main.ua

+28-44
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,42 @@
11
# https://adventofcode.com/2024/day/5
22

3-
# Uiua 0.14.0-dev.6
3+
# uiua 0.15.0-dev.1
44
# Experimental!
55

6-
# &fras "input.txt"
7-
&fras "example.txt"
8-
°/$"_\n\n_"
9-
10-
# ≡(□⊜□⊸≠@\n°□)
11-
# ≡(□°/$"_\n_"°□)
12-
⍚°/$"_\n_"
13-
∩°□:°⊟
14-
15-
ParseFirst ← ≡(◇⊜⋕⊸≠@|)
16-
ParseSecond ← ≡(⍚⊜⋕⊸≠@,) ↘¯1 # last row is empty...
17-
186
UpdateMap ← (
197
⊙⊃(⬚(□[])get|⊙∘):
208
insert:⍜(°□:)⊂
219
)
2210

23-
⊓($second ParseSecond|$first ∧(UpdateMap°⊟₂) :[] ParseFirst)
24-
25-
S ←
26-
F ←
11+
# map $ rules
12+
🗺 ← ∧(UpdateMap°⊟₂) :[]
2713

28-
# $first ∧(UpdateMap°⊟₂) F $map []
29-
# # ⍜(?⬚(□[])get5?)(?□?⊂?:3°□?) # pattern match failed, bugg?
30-
# S
31-
32-
# - för varje i second
33-
# - try get i first
34-
# - för varje i first
35-
# - jämför mot kvarvarande i second
14+
# updates rules $ data
15+
🗄 ← (
16+
°/$"_\n\n_"
17+
⍚°/$"_\n_"
18+
∩°□:°⊟
19+
⊓(≡(⍚⊜⋕⊸≠@,) ↘¯1|🗺≡(◇⊜⋕⊸≠@|))
20+
)
3621

37-
# first: rules
38-
# second: updates
39-
# both: pages
22+
# - för varje update
23+
# - try get i rules
24+
# - för varje i rules
25+
# - jämför mot kvarvarande updates
4026

41-
S
42-
# ↙2
43-
$validrules ≡(
44-
⇌°□
45-
⇡⊸⧻
46-
⊙¤
47-
≡(↘
48-
◇°⊂
49-
°□⬚[]get:F
50-
/∨∈:
51-
)
52-
/∨
53-
-:1
27+
# bool $ update rules
28+
IsCorrectlyOrdered ← (
29+
≡⌟◇(/∨◇∊: ⬚[]get ⊙: °⊂ ⇌) ⧅□
30+
¬/∨
5431
)
55-
▽:S
56-
/+≡(⊡⌊÷2⊸⧻°□)
5732

58-
# 6498, correct
33+
# answer $ updates rules
34+
🐪 ← (
35+
▽⤚≡⌟◇IsCorrectlyOrdered
36+
≡◇(⊡⌊÷2⊸⧻) # pick out the middle number
37+
/+
38+
)
39+
┌─╴🧪
40+
⍤⤙≍ 143 🐪 🗄 &fras "example.txt"
41+
⍤⤙≍ 6498 🐪 🗄 &fras "input.txt"
42+
└─╴

0 commit comments

Comments
 (0)