-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathday8_part1.js
More file actions
40 lines (28 loc) · 1.21 KB
/
day8_part1.js
File metadata and controls
40 lines (28 loc) · 1.21 KB
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
var movements_pattern = "LLRRRLLRLRRRLLRLRLRLRLRRRLRRLRRLRLLLRRLLRRLRRLRRLRRRLLLRRLRLRRRLRRRLRLRRLRRRLRLRRRLRLRLLLRLRRLRLRRLRRRLRLRRRLRRRLRRRLRRRLRLRRRLRRRLRLLRRLRLRLRRRLRRLRRRLRRRLRRRLRRRLLLLRRLLRLRRLRRLRRRLRRRLLLRRLRRLRLRRLRRRLRRLRLRRRLRLRRLLRLLRRLRLRRRLRRLRRLRLRRLLLRRRLRLRRRLRLRLLRLRLRRRLRLRLRRRLRRLRRLRRRLRRLLRRRR"
// example
// var movements_pattern = "LLR"
process.stdin.on('data', function (data) {
var input = data.toString().replace(/\r\n/g, ",'").replace(/\(/g, "['").replace(/\)/g, "']").replace(/\,\s/g, "','").replace(/\s\=/g, "':")
ready(input)
})
async function ready(data) {
eval("var path = {'" + data.toString() + "}")
console.log(path)
let movements_pattern_binary = movements_pattern.replace(/L/g, "0").replace(/R/g, "1")
console.log(movements_pattern_binary)
var steps = 0
// find steps to reach the ZZZ
function findZZZ(key) {
let end = false
for (const movement of movements_pattern_binary) {
end = path[key][movement]
console.log(end)
steps++
}
if (end == "ZZZ")
return
findZZZ(end)
}
findZZZ("AAA")
console.log(steps)
}