[JS][프로그래머스 -LEVEL 2 - 방문길이 ]

정대만·2023년 7월 4일

코딩테스트

목록 보기
14/51
post-thumbnail

문제 해석

이런식으로 왔던 길은 count 해주지않으면 되는 그냥 구현 문제이다.

풀이 방법

  • 경로를 찾기 위해서 [ 시작하는곳 , 도착하는 곳 ] + [도착하는곳 , 시작하는곳 을 ]
  • 0001 0100 이렇게 string 으로 바꿔서 하나씩 체크해주면 된다.

이미 왔던 곳을 if 문으로 찾아주기만 하면 금방 끝나는 문제이다.

function solution(dirs) {
    var answer = 0;
    
    var obj={
        U:[+1,0],
        D:[-1,0],
        R:[0,+1],
        L:[0,-1]
    }
    var check_ar=[];
    var count=0;
    var y=0; 
    var x=0;
    for(var i=0; i<dirs.length; i++){
       var new_y=obj[dirs[i]][0]+y;
       var new_x=obj[dirs[i]][1]+x;
     
        if(new_y>=-5&& new_y<=5 &&new_x<=5 && new_x>=-5){
        if(!check_ar.includes(''+y+x+new_y+new_x) || !check_ar.includes(''+new_y+new_x+y+x) ){
            count+=1;
            check_ar.push(''+y+x+new_y+new_x);
            check_ar.push(''+new_y+new_x+y+x);       
        }
               y=new_y;
            x=new_x;
    }
    }
    return (count);
 
}

profile
안녕하세요

0개의 댓글