https://school.programmers.co.kr/learn/courses/30/lessons/12906
배열arr
배열 arr의 각원소는 숫자0~9
이떄,배열arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부제거.
단,제거된 후 남은 수들을 반환할때는 배열arr의 원소들을 순서를 유지.
예시
- arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.
- arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.
제한사항
function solution(arr){
var answer = [];
for(var i = 0; i < arr.length; i++){
if(arr[i] !== arr[i + 1]){
answer.push(arr[i]);
}
}
return answer;
}
주어진 배열에서 연속적으로 중복되는 요소를 제거
빈 배열 생성 : 함수는 먼저 answer 빈 배열을 생성. 이 배열은 중복되지 않는 요소들을 저장.
for문 : 배열arr의 모든 요소를 순회하기 위해.
인덱스 i를 0부터 시작하여 arr 배열의 길이보다 작을 때까지 반복.
arr[i]와 다음 요소 arr[i+1]을 비교.!== 연산자를 사용하여 두 요소가 값과 타입 모두에서 다른지 확인.불일치 연산자 (!==)
두 값이 "타입"과 "값" 모두에서 같지 않을 때 true를 반환
즉, 두 값이 다르거나 타입이 다를 때 true를 반환하고, 그렇지 않으면 false를 반환
arr[i]는 중복되지 않은 것으로 판단하여 answer 배열에 추가.여기서 각 숫자 그룹의 첫 번째 요소만이 결과 배열에 포함되어, 연속적인 중복이 제거된 것을 볼 수 있다.
!== 연산자를 사용하여 엄격한 타입 비교를 함으로써, 값과 타입이 모두 다른 경우에만 요소를 answer 배열에 추가한다는 점입니다. 이로써,연속적인 중복을 효과적으로 제거할 수 있습니다.