문제

 

풀이 코드

function solution(arr) {
  var answer = [arr[0]];

  for (let i = 1; i < arr.length; i++) {
    if (arr[i - 1] != arr[i]) answer.push(arr[i]);
  }

  return answer;
}

 

풀이 과정

배열의 첫 요소는 무조건 포함이 되기 때문에, 우선 첫 요소를 배열에 넣어주고, 

인덱스 1 부터 비교하여 

현재 인덱스 값이 바로 앞의 인덱스 값과 같지 않은 경우만, 배열에 해당 요소를 추가하였다

 

아무래도 내장 메서드에 익숙해 져서 그런지 for 문을 사용하는 순간 뭔가 더 간단하게 구현할 수 있을거 같다 다른사람의 코드를 봤다.

 

다른사람의 코드

function solution(arr)
{
    return arr.filter((val,index) => val != arr[index+1]);
}

filter 로 인덱스 요소에 직접 접근할수 있구나;;

한번 더 배워간다!

+ Recent posts