const-tommy.dev
기록을 불러오는 중입니다
function moveToDirection(direction, coord) {
const move = {
U: [0, 1], D: [0, -1], R: [1, 0], L: [-1, 0]
};
const [dx, dy] = move[direction];
return { x: coord.x + dx, y: coord.y + dy };
}
function solution(dirs) {
let curCoord = { x: 0, y: 0 };
let visit = new Set(); // 중복 제어
for (let i = 0; i < dirs.length; i += 1) {
let nextCoord = moveToDirection(dirs[i], curCoord);
if (nextCoord.x > 5 ||
nextCoord.x < -5 ||
nextCoord.y > 5 ||
nextCoord.y < -5) {
continue;
}
let path = `${curCoord.x}${curCoord.y}${nextCoord.x}${nextCoord.y}`;
let path2 = `${nextCoord.x}${nextCoord.y}${curCoord.x}${curCoord.y}`;
visit.add(path);
visit.add(path2);
curCoord = nextCoord;
}
return visit.size / 2;
}