coords = wire => {
let last = [0, 0];
let step = 0;
const points = {};
for (const segment of wire) {
const n = +segment.slice(1);
switch (segment[0]) {
case 'R':
for (let d = 0; d < n; d++) {
last[0]++;
step++;
points[last] = points[last] || step;
}
break;
case 'L':
for (let d = 0; d < n; d++) {
last[0]--;
step++;
points[last] = points[last] || step;
}
break;
case 'D':
for (let d = 0; d < n; d++) {
last[1]--;
step++;
points[last] = points[last] || step;
}
break;
case 'U':
for (let d = 0; d < n; d++) {
last[1]++;
step++;
points[last] = points[last] || step;
}
break;
}
}
return points;
}