자바스크립트 코딩테스트 연습 7일차

Y·2020년 8월 4일
0

문제 1


내 풀이


function dirReduc(arr){
  const obj = {
    "NORTH" : 0,
    "SOUTH" : 1,
    "WEST" : 3,
    "EAST" : 4
  };
  
  for(let i=0;i<arr.length-1;i++){
    if (Math.abs(obj[arr[i]]-obj[arr[i+1]]) === 1 ) {
      arr.splice(i,2)
      i = -1 ;
    }
  }
  return arr
}

NORTH, SOUTH, WEST, EAST 의 프로퍼티를 가지는 obj을 선언했다. 이는 인자로 받은 arr을 for문으로 반복문을 돌릴 때, 서로 인접한 두개의 배열 요소 문자열을 숫자로 치환하여 두 값의 차이가 1이나면 배열에서 삭제시키기 위해 설정했다. 삭제가되면, 다시 배열의 맨처음부터 반복하도록 i를 초기화 했다.

공부


이 문제를 푸는데 굉장히 오래 걸렸다.. 전혀 어렵지 않은데 그냥 머리가 안돌아갔다. 처음에는 문제를 잘못읽었고, 그다음에는 문제를 잘못 이해했고,,,

profile
연세대학교 산업공학과 웹개발 JavaScript

0개의 댓글