알고리즘 문제 풀기 Level1 "같은 숫자는 싫어"
배열 arr에서 연속적인 숫자 제거, 남은 수들을 return
문제
주어진 코드
function solution(arr)
{
var answer = [];
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
console.log('Hello Javascript')
return answer;
}
풀이 for문 사용
function solution(arr) {
var answer = []; // 새로운 배열
for(var i = 0; i < arr.length; i++) { // 처음부터 끝까지 반복
arr[i] == arr[i+1] ? '' : answer.push(arr[i]);
// 현재와 다음의 문자가 같은문자인지 확인 후 다를경우에만 새 배열에 추가
}
return answer;
}
풀이 filter문 사용
중복을 제거하는 방법은 지금 숫자와 다음 숫자가 같으면 그 숫자를 없애주는 식으로 제거한다. 반복문 돌면서 숫자를 없앨 수 있는 메서드를 이용함. filter를 사용해서 arr에서 element와 그다음 elenmt가 같지 않은 것들을 바로 배열로 반환해서 풀 수있다.
function solution(arr) {
return arr.filter((v, i) => v !== arr[i + 1]);
}
Array.filter() : 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환하는 메서드