명령어가 매개변수 dirs로 주어질 때, 게임 캐릭터가 처음 걸어본 길의 길이를 구하여 return 하는 solution 함수를 완성해 주세요.
입출력 예시
dirs : "ULURRDLLU"
-> 7
function solution(dirs) {
var answer = 0;
var cur = {x: 0, y: 0};
var line = {x: 0, y: 0};
var stack =[];
dirs.split("").forEach((dir) => {
if (cur.x != -5 && dir == "L") {
line.x = cur.x - 0.5;
line.y = cur.y;
cur.x--;
} else if (cur.x != 5 && dir == "R") {
line.x = cur.x + 0.5;
line.y = cur.y;
cur.x++;
} else if (cur.y != -5 && dir == "D") {
line.y = cur.y - 0.5;
line.x = cur.x;
cur.y--;
} else if (cur.y != 5 && dir == "U") {
line.y = cur.y + 0.5;
line.x = cur.x;
cur.y++;
}
stack.push([line.x, line.y])
})
answer = [...new Set(stack.join('/').split('/'))].map((s) => s.split(','))
return answer.length;
}
set으로는 2차원 배열 중복 제거가 안돼서 한참을 고민했다...
허헣...