blob: 698bb9adad7c8185e012c107d9b80ab7fa8b4cb2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
proc setup {n {mode lines}} {
puts "Advent of Code 2024 day $n Solution"
puts "<https://adventofcode.com/2024/day/$n>"
puts ""
set n [string range 0$n end-1 end]
upvar input input
set fd [open input.$n.txt]
switch -- $mode {
lines {
set input [split [string trim [read $fd]] "\r\n"]
close $fd
}
data {
set input [read $fd]
close $fd
}
fd {
set input $fd
}
}
}
proc regroup {pat {var input}} {
upvar $var list
set list2 {}
set cur {}
foreach el $list {
if {[string match $pat $el]} {
if {$cur != {}} {
lappend list2 $cur
set cur {}
}
} else {
lappend cur $el
}
}
lappend list2 $cur
set list $list2
}
|