[1일 1코테 day 10 연휴코테]에서 분리
function solution(arr){
let arr2 = [];
arr2.push(arr[0]);
for (i = 0; i < arr.length - 1; i++) {
if (arr[i] !== arr[i + 1]) {arr2.push(arr[i + 1]);}}
return arr2;}
이번엔 의도적으로 for문으로 풀어봤다.
6점 받음 ! 2점 받을 줄 알았는디? 점수주는 기준을 알수가 없다~.~
아 맞다.. .filter도 있었지
넘의 풀이를 보니 내풀이에서 조금 수정할 부분을 알수있었다.
앞에 인덱스와 다음 인덱스를 비교해서 앞에 인덱스를 넣으면
나처럼 목사한 배열의 첫 인덱스를 미리 넣어줄 필요도 없고, 마지막 인덱스의 요소로 undefined가 나오는걸 제거할 일도 없었을 것이다. 쉽게 쉽게 생각하는 습관을 가지자.
.filter() 는 자신을 호출한 배열의 모든 요소를 순회하면서 인수로 전달받은 콜백함수를 반복 호출한다.
그런데 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환하는것이 filter의 특징이다.
그러고 보니 이 문제 출제의도 자체가 filter함수사용 인것 같다..!
((문제와 너무 찰떡인 함수라서..))