-
Notifications
You must be signed in to change notification settings - Fork 0
/
day-3-2.js
36 lines (29 loc) · 896 Bytes
/
day-3-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
var input = document.getElementsByTagName ("pre") [0].textContent;
var santa = {
"x": 0,
"y": 0
};
var robot = {
"x": 0,
"y": 0
};
var positions = ["0-0"];
for (var i = 0; i < input.length; i ++) {
// Santa EVEN
if ((i % 2) == 0 || i == 0) {
if (input [i] == "^") santa.y ++;
else if (input [i] == "v") santa.y --;
else if (input [i] == ">") santa.x ++;
else if (input [i] == "<") santa.x --;
if (positions.indexOf (santa.x + "-" + santa.y) == -1) positions.push (santa.x + "-" + santa.y);
} else {
// Robot ODD
if (input [i] == "^") robot.y ++;
else if (input [i] == "v") robot.y --;
else if (input [i] == ">") robot.x ++;
else if (input [i] == "<") robot.x --;
if (positions.indexOf (robot.x + "-" + robot.y) == -1) positions.push (robot.x + "-" + robot.y);
}
}
console.log (positions.length); // 2639
alert (positions.length);