function called countUniqueValues, which accepts a sorted array, and counts the unique values in the array. There can be negative numbers in the array, but it will always be sorted.
정렬된 숫자의 배열속에서 고유의 값의 갯수 을 찾아내라 , 숫자는 음수일수 있지만 항상 정렬되어 있다.
function countUniqueValues(arr){
///배열의 길이가 0 일 경우 0을 반환한다.
if(arr.length === 0){
return 0;
}
///포인터 <1> i=0
let i = 0;
///포인터<2> j=1 부터 시작하여 배열 길이 까지 루프
for(j =1 ;j < arr.length; j++){
///배열의 i인덱스와 j인덱스가 서로 다르다면
if(arr[i] !== arr[j]){
//i는 1씩 증가하며
i++;
//i인덱스에 j인덱스의 값을 할당한다.
arr[i]=arr[j];
}
}
///i의 현재 위치를 반환한다 (인덱스는 0부터 시작하므로 +1)
return i+1;
}
countUniqueValues([1,1,1,2,3,4,4,4,9])///5
countUniqueValues([]); // 0
countUniqueValues([1, 1, 1, 1, 1, 2]); // 2
countUniqueValues([1, 2, 2, 5, 7, 7, 99]); // 5
countUniqueValues([1, 1, 2, 3, 3, 4, 5, 6, 6, 7]); // 7
countUniqueValues([-2, -1, -1, 0, 1]); // 4