프로그래머스 | 방문길이

커몽·2021년 7월 2일
0

프로그래머스 level2

목록 보기
19/38
function solution(dirs) {
    var answer = 0;
    let cur={x:0,y:0};
    let obj={
        'U':(pos)=>pos.y<5?pos.y+=1:pos.y=5,
        'D':(pos)=>pos.y>-5?pos.y-=1:pos.y=-5,
        'R':(pos)=>pos.x<5?pos.x+=1:pos.x=5,
        'L':(pos)=>pos.x>-5?pos.x-=1:pos.x=-5,
    }
    let pathSet=new Set();
    
    
    [...dirs].forEach((dir)=>{
        const pre={...cur};
        obj[dir](cur);
        const path=[`${pre.x}${pre.y}`,`${cur.x}${cur.y}`].sort();//갔던 길을 갈때 체크
        console.log(path)
        pathSet.add(path.join('=>'));
    })
    console.log(...pathSet)
    return [...pathSet].map(e=>e.split('=>')).filter(e=>e[0]!==e[1]).length;//범위를 벗어날때 체크
}

0개의 댓글