문제
풀이 코드
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 로 인덱스 요소에 직접 접근할수 있구나;;
한번 더 배워간다!