-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday-2.js
41 lines (38 loc) · 13.5 KB
/
day-2.js
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
const input2 = [
["forward", 6],["forward", 6],["down", 6],["down", 5],["up", 2],["forward", 4],["forward", 8],["up", 9],["forward", 3],["down", 1],["forward", 2],["forward", 3],["down", 1],["down", 3],["down", 3],["forward", 9],["down", 6],["forward", 1],["up", 5],["down", 1],["forward", 8],["forward", 7],["up", 8],["forward", 7],["down", 9],["forward", 5],["forward", 4],["forward", 2],["down", 3],["down", 6],["down", 6],["down", 5],["forward", 5],["forward", 4],["forward", 8],["up", 3],["forward", 6],["down", 4],["up", 2],["forward", 8],["forward", 6],["forward", 1],["up", 2],["down", 9],["down", 9],["up", 5],["down", 1],["up", 1],["up", 3],["forward", 2],["forward", 4],["down", 8],["down", 1],["up", 1],["up", 4],["up", 1],["up", 2],["forward", 4],["down", 1],["forward", 1],["down", 3],["forward", 4],["down", 1],["down", 6],["forward", 3],["down", 9],["down", 4],["up", 4],["down", 3],["forward", 4],["down", 3],["up", 4],["forward", 5],["down", 9],["forward", 4],["forward", 1],["forward", 1],["forward", 4],["up", 6],["up", 9],["down", 1],["down", 1],["forward", 6],["down", 1],["down", 5],["down", 4],["forward", 8],["down", 8],["down", 2],["down", 5],["down", 6],["down", 4],["down", 9],["up", 8],["down", 4],["forward", 5],["up", 6],["forward", 2],["forward", 9],["down", 5],["forward", 3],["forward", 6],["down", 9],["up", 3],["forward", 7],["forward", 1],["forward", 1],["up", 6],["forward", 3],["down", 3],["down", 1],["up", 7],["forward", 2],["forward", 9],["forward", 4],["down", 9],["forward", 4],["forward", 5],["up", 7],["down", 1],["up", 9],["down", 6],["up", 5],["forward", 9],["forward", 9],["down", 4],["forward", 1],["forward", 2],["forward", 1],["down", 2],["forward", 7],["up", 6],["up", 5],["up", 6],["down", 4],["down", 6],["down", 9],["forward", 9],["down", 9],["down", 1],["down", 2],["up", 7],["forward", 3],["down", 2],["up", 8],["forward", 5],["forward", 2],["up", 2],["down", 9],["down", 2],["down", 8],["forward", 8],["down", 2],["down", 8],["forward", 3],["up", 1],["forward", 7],["forward", 1],["up", 9],["forward", 1],["forward", 1],["forward", 1],["down", 1],["down", 6],["forward", 2],["down", 8],["down", 9],["forward", 3],["up", 9],["down", 5],["down", 2],["forward", 7],["forward", 1],["forward", 6],["down", 5],["down", 4],["down", 2],["down", 7],["down", 1],["forward", 8],["down", 3],["up", 8],["forward", 2],["down", 6],["forward", 9],["up", 6],["forward", 3],["forward", 7],["down", 3],["down", 8],["down", 8],["down", 7],["down", 8],["forward", 3],["down", 1],["forward", 4],["down", 8],["forward", 1],["forward", 1],["forward", 4],["forward", 6],["up", 9],["forward", 8],["up", 6],["forward", 4],["forward", 4],["down", 1],["down", 7],["up", 9],["forward", 5],["down", 9],["down", 1],["up", 2],["down", 7],["forward", 8],["forward", 9],["forward", 6],["forward", 8],["up", 1],["forward", 2],["down", 7],["up", 9],["up", 5],["forward", 6],["forward", 7],["down", 4],["forward", 1],["down", 2],["down", 7],["down", 4],["down", 8],["down", 4],["forward", 7],["down", 2],["down", 7],["forward", 5],["down", 3],["forward", 6],["up", 5],["up", 9],["down", 5],["up", 2],["up", 6],["forward", 6],["forward", 9],["down", 8],["forward", 8],["forward", 8],["forward", 3],["up", 2],["forward", 4],["down", 9],["down", 3],["up", 2],["down", 9],["forward", 9],["forward", 8],["forward", 6],["forward", 4],["up", 8],["down", 3],["up", 7],["up", 7],["up", 5],["up", 3],["forward", 3],["up", 7],["up", 8],["down", 6],["down", 3],["down", 4],["down", 1],["forward", 1],["forward", 3],["down", 6],["down", 6],["forward", 2],["up", 1],["forward", 9],["up", 1],["forward", 9],["down", 1],["forward", 2],["forward", 3],["up", 3],["down", 7],["forward", 6],["up", 4],["forward", 5],["up", 4],["forward", 4],["down", 6],["down", 9],["down", 8],["down", 1],["forward", 8],["up", 4],["forward", 6],["down", 8],["down", 7],["down", 9],["forward", 7],["forward", 4],["down", 4],["forward", 8],["up", 4],["down", 7],["down", 1],["down", 7],["up", 6],["forward", 3],["down", 8],["down", 6],["down", 5],["down", 7],["down", 5],["forward", 3],["forward", 5],["down", 2],["down", 8],["up", 4],["forward", 9],["down", 5],["down", 1],["forward", 6],["down", 2],["down", 6],["down", 3],["up", 3],["up", 5],["forward", 8],["up", 2],["down", 4],["down", 5],["up", 4],["forward", 1],["forward", 2],["up", 4],["forward", 7],["forward", 2],["forward", 4],["forward", 6],["down", 1],["down", 9],["up", 2],["down", 7],["down", 6],["up", 1],["up", 2],["forward", 7],["forward", 9],["forward", 4],["forward", 6],["down", 4],["up", 7],["up", 2],["forward", 3],["down", 8],["up", 5],["up", 7],["down", 4],["down", 4],["forward", 1],["forward", 8],["forward", 4],["forward", 1],["up", 8],["down", 3],["down", 5],["down", 7],["up", 2],["forward", 6],["down", 6],["down", 8],["forward", 2],["up", 7],["down", 6],["down", 6],["up", 4],["up", 6],["up", 4],["down", 3],["forward", 9],["up", 4],["forward", 8],["forward", 7],["down", 5],["down", 4],["down", 3],["forward", 7],["forward", 3],["up", 7],["forward", 5],["down", 2],["forward", 4],["forward", 3],["forward", 1],["down", 9],["up", 2],["up", 3],["up", 7],["up", 6],["forward", 1],["up", 3],["down", 3],["up", 9],["forward", 2],["forward", 7],["forward", 6],["forward", 2],["forward", 9],["forward", 9],["forward", 5],["up", 2],["down", 6],["down", 3],["down", 2],["forward", 7],["down", 4],["forward", 1],["up", 7],["forward", 8],["down", 5],["down", 6],["down", 7],["up", 5],["forward", 6],["forward", 5],["up", 5],["up", 6],["down", 4],["up", 8],["up", 3],["forward", 9],["down", 4],["down", 4],["down", 7],["up", 7],["down", 8],["down", 7],["forward", 2],["forward", 9],["down", 2],["down", 1],["forward", 5],["down", 2],["forward", 7],["down", 5],["down", 4],["down", 7],["forward", 9],["forward", 2],["down", 6],["forward", 8],["down", 6],["down", 6],["up", 8],["forward", 9],["up", 4],["down", 9],["forward", 7],["up", 1],["up", 2],["forward", 9],["down", 9],["down", 6],["down", 5],["forward", 2],["down", 9],["down", 1],["forward", 1],["down", 7],["down", 6],["up", 6],["down", 4],["forward", 9],["up", 5],["down", 3],["down", 9],["forward", 5],["down", 2],["forward", 1],["forward", 4],["forward", 1],["forward", 1],["forward", 4],["down", 2],["up", 3],["forward", 9],["down", 5],["down", 2],["forward", 5],["down", 6],["down", 4],["forward", 9],["forward", 3],["forward", 4],["forward", 9],["forward", 5],["forward", 3],["down", 5],["up", 9],["down", 5],["forward", 8],["down", 9],["forward", 7],["down", 3],["up", 3],["down", 7],["up", 2],["forward", 5],["forward", 3],["up", 7],["down", 1],["forward", 2],["down", 9],["down", 5],["down", 2],["forward", 6],["forward", 6],["forward", 5],["down", 5],["down", 1],["down", 4],["down", 7],["forward", 4],["forward", 3],["forward", 1],["forward", 4],["down", 1],["up", 7],["up", 5],["forward", 2],["up", 3],["down", 2],["forward", 2],["forward", 8],["down", 7],["forward", 9],["forward", 8],["down", 4],["down", 5],["forward", 4],["forward", 7],["up", 9],["down", 5],["forward", 4],["down", 7],["forward", 5],["down", 8],["forward", 5],["forward", 2],["forward", 7],["forward", 3],["forward", 1],["forward", 2],["up", 1],["up", 5],["up", 1],["up", 3],["down", 9],["up", 9],["down", 8],["forward", 4],["down", 3],["forward", 7],["down", 6],["forward", 1],["down", 7],["up", 3],["forward", 1],["forward", 6],["up", 9],["down", 6],["forward", 3],["down", 1],["forward", 7],["down", 9],["up", 3],["up", 9],["forward", 6],["up", 1],["forward", 5],["forward", 7],["forward", 7],["up", 7],["down", 2],["up", 7],["down", 8],["forward", 7],["up", 5],["down", 9],["up", 1],["forward", 4],["forward", 4],["forward", 9],["down", 6],["up", 3],["down", 8],["down", 8],["up", 2],["down", 8],["down", 8],["up", 7],["down", 8],["up", 2],["up", 4],["up", 1],["forward", 7],["forward", 9],["forward", 9],["down", 4],["up", 8],["forward", 9],["down", 9],["up", 1],["forward", 1],["forward", 1],["down", 5],["up", 7],["down", 8],["forward", 4],["forward", 3],["down", 7],["forward", 8],["up", 2],["down", 2],["down", 6],["down", 4],["forward", 9],["forward", 7],["down", 9],["down", 4],["forward", 8],["down", 5],["forward", 7],["down", 2],["forward", 6],["up", 8],["forward", 3],["down", 5],["forward", 2],["forward", 6],["down", 9],["up", 6],["up", 9],["up", 2],["forward", 2],["down", 2],["forward", 5],["down", 7],["down", 8],["down", 4],["down", 5],["forward", 6],["forward", 2],["up", 9],["down", 3],["forward", 3],["up", 8],["forward", 2],["down", 9],["forward", 4],["forward", 1],["forward", 1],["up", 3],["up", 9],["forward", 6],["down", 5],["down", 2],["up", 2],["up", 9],["forward", 9],["forward", 6],["forward", 3],["forward", 9],["up", 3],["forward", 9],["up", 4],["up", 5],["forward", 6],["forward", 6],["down", 8],["forward", 5],["down", 9],["up", 5],["forward", 5],["down", 8],["down", 3],["up", 8],["down", 2],["forward", 4],["forward", 6],["up", 4],["down", 3],["down", 3],["down", 5],["up", 8],["down", 7],["down", 4],["forward", 9],["forward", 2],["down", 1],["down", 8],["forward", 8],["up", 9],["forward", 3],["down", 2],["up", 8],["down", 9],["up", 2],["down", 3],["forward", 8],["forward", 8],["forward", 2],["down", 3],["forward", 7],["down", 7],["down", 4],["forward", 9],["forward", 9],["down", 5],["up", 7],["forward", 2],["up", 7],["up", 1],["forward", 4],["up", 2],["down", 4],["down", 7],["down", 4],["down", 1],["up", 3],["down", 5],["down", 5],["forward", 6],["forward", 2],["down", 2],["forward", 9],["down", 4],["up", 8],["forward", 9],["forward", 9],["up", 7],["forward", 4],["forward", 9],["forward", 2],["forward", 2],["forward", 1],["forward", 6],["down", 3],["down", 5],["forward", 7],["up", 4],["forward", 9],["forward", 9],["up", 1],["forward", 9],["down", 5],["up", 2],["up", 2],["down", 5],["down", 5],["forward", 7],["down", 1],["forward", 5],["up", 8],["up", 9],["down", 9],["forward", 3],["up", 1],["forward", 6],["down", 8],["down", 2],["forward", 6],["up", 9],["down", 3],["down", 1],["down", 1],["up", 2],["up", 1],["up", 9],["forward", 5],["forward", 6],["down", 7],["forward", 1],["down", 3],["forward", 6],["forward", 2],["forward", 9],["forward", 7],["up", 5],["down", 4],["down", 6],["down", 2],["down", 5],["forward", 7],["up", 1],["down", 7],["down", 4],["down", 7],["down", 4],["forward", 2],["forward", 8],["up", 7],["up", 9],["down", 6],["up", 8],["up", 3],["up", 3],["up", 5],["down", 1],["forward", 4],["forward", 9],["forward", 1],["down", 9],["up", 5],["down", 3],["down", 1],["down", 1],["up", 3],["down", 1],["up", 2],["up", 2],["down", 5],["forward", 8],["down", 8],["up", 6],["forward", 9],["up", 1],["up", 3],["down", 4],["forward", 7],["up", 4],["forward", 3],["down", 8],["forward", 6],["down", 6],["forward", 1],["down", 4],["down", 7],["up", 3],["down", 4],["forward", 5],["forward", 4],["down", 6],["up", 4],["down", 6],["up", 8],["forward", 1],["up", 8],["forward", 3],["down", 8],["forward", 3],["down", 9],["forward", 5],["down", 6],["forward", 5],["forward", 7],["forward", 8],["down", 8],["down", 1],["down", 1],["down", 7],["forward", 9],["down", 4],["forward", 3],["down", 8],["down", 4],["down", 6],["down", 8],["forward", 5],["down", 5],["down", 1],["down", 9],["down", 6],["down", 7],["down", 1],["forward", 7],["down", 2],["down", 9],["down", 9],["down", 8],["down", 9],["forward", 9],["down", 8],["forward", 1],["up", 2],["forward", 4],["up", 2],["up", 7],["forward", 1],["down", 9],["up", 7],["forward", 4],["forward", 2],["down", 2],["down", 5],["down", 7],["down", 4],["forward", 8],["up", 2],["forward", 1],["forward", 5],["down", 7],["forward", 3],["forward", 6],["down", 3],["up", 5],["up", 8],["down", 5],["down", 1],["down", 7],["down", 6],["forward", 2],["forward", 3],["forward", 7],["forward", 6],["down", 2],["down", 4],["down", 1],["down", 5],["down", 4],["down", 7],["up", 5],["down", 4],["up", 9],["forward", 7],["down", 9],["down", 9],["forward", 3],["forward", 9],["down", 5],["forward", 1],["up", 1],["down", 4],["forward", 7],["up", 4],["down", 5],["forward", 8],["forward", 3],["forward", 6],["forward", 7],["down", 8],["down", 3],["forward", 8],["down", 8],["forward", 7],["down", 4],["down", 2],["down", 8],["down", 3],["forward", 4],["down", 5],["up", 5],["down", 9],["up", 5],["up", 4],["up", 3],["forward", 7],["forward", 8],["forward", 9],["forward", 5],["down", 7],["down", 2],["forward", 2],["down", 2],["forward", 5],["forward", 2],["forward", 6],["down", 4],["down", 5],["down", 7],["forward", 3],["forward", 3],["forward", 9],["forward", 6],["down", 2],["forward", 3],["down", 5],["forward", 5],["forward", 9],["forward", 6],["up", 4],["forward", 6],["forward", 9],["down", 3],["down", 2],["forward", 9],["down", 1],["up", 1],["forward", 1],["up", 3],["forward", 3],["forward", 6],["up", 4],["up", 4],["forward", 8],["forward", 1],["forward", 2]
];
let position = input2.reduce((pos, thisCommand) => {
if (thisCommand[0] === "forward") {
pos.horizontal += thisCommand[1];
} else if (thisCommand[0] === "down") {
pos.depth += thisCommand[1];
} else { // up
pos.depth -= thisCommand[1];
}
return pos;
}, {
horizontal: 0,
depth: 0
});
console.log(position.horizontal * position.depth);
// down X increases your aim by X units.
// up X decreases your aim by X units.
// forward X does two things:
// It increases your horizontal position by X units.
// It increases your depth by your aim multiplied by X.
let position2 = input2.reduce((pos, thisCommand) => {
if (thisCommand[0] === "down") {
pos.aim += thisCommand[1];
} else if (thisCommand[0] === "up") {
pos.aim -= thisCommand[1];
} else { // forward
pos.horizontal += thisCommand[1];
pos.depth += pos.aim * thisCommand[1];
}
return pos;
}, {
horizontal: 0,
depth: 0,
aim: 0
});
console.log(position2.horizontal * position2.depth);