-
Notifications
You must be signed in to change notification settings - Fork 0
/
day1_part2.jakt
40 lines (32 loc) · 884 Bytes
/
day1_part2.jakt
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
/// Expect:
/// - output: "77666\n"
import reader
function main() {
mut frequency: i32 = 0
mut seen: [i32:bool] = [:]
mut found = false
while true {
for change in reader::lines_string(day: 1).iterator() {
mut number = change.substring(start: 1, length: change.length()-1).to_int()
if number.has_value() {
match change.substring(start: 0, length: 1) {
"+" => {
frequency += number!
}
else => {
frequency -= number!
}
}
}
if seen.contains(frequency) {
found = true
break
}
seen[frequency] = true
}
if found {
break
}
}
println("{}", frequency)
}