36 lines
825 B
JavaScript
36 lines
825 B
JavaScript
var board = [
|
|
{"0": 1},
|
|
{"-1": 2, "0": 3, "1": 4},
|
|
{"-2": 5, "-1": 6, "0": 7, "1": 8, "2": 9},
|
|
{"-1": "A", "0": "B", "1": "C"},
|
|
{"0": "D"}
|
|
];
|
|
var moves = {
|
|
U: [-1, 0],
|
|
D: [1, 0],
|
|
L: [0, -1],
|
|
R: [0, 1],
|
|
}
|
|
var pos = [2, -2];
|
|
var locations = [];
|
|
var fs = require("fs");
|
|
var input = fs.readFileSync("input.txt").toString().replace(/\r/g, "");
|
|
input.split("\n").slice(0, -1).forEach(function(line){
|
|
if(line){
|
|
line.split("").forEach(function(char){
|
|
if(char){
|
|
var move = moves[char];
|
|
var newpos = pos.map((a, x)=>(a + move[x]));
|
|
if(board[newpos[0]]){
|
|
if(board[newpos[0]][newpos[1]]){
|
|
pos = newpos;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
console.log(board[pos[0]][pos[1]]);
|
|
locations.push(board[pos[0]][pos[1]]);
|
|
});
|
|
console.log(locations.join(""));
|