JavaScript/Basic
[JS 알고리즘&자료구조] 다중 포인터 패턴 : 또 다른 문제 풀이
발싸믹쏘스
2023. 11. 13. 23:54
두 번째 문제를 살펴보도록 하자. countUniqueValues라는 함수는 전달된 정렬된 배열에 있는 고유한 값의 개수를 반환한다. 어떠한 숫자도 존재하지 않는 배열이라면 0을 반환한다. 해당 문제에 대한 나의 풀이이다.
function countUniqueValues(arr) {
if(arr.length < 1) return 0;
let i = 0;
let j = 1;
while(j < arr.length) {
if (arr[i] !== arr[j]) {
i++;
arr[i] = arr[j];
}
j++;
}
return i + 1;
}
아래는 강의에서 소개하는 해결 방법이다.
function countUniqueValues(arr) {
if(arr.length < 1) return 0;
let i = 0;
for (let j = 0; j < arr.length; j++) {
if (arr[i] !== arr[j]) {
i++;
arr[i] = arr[j];
}
}
return i + 1;
}
나는 while문을 사용했고 강의의 풀이에서는 for문을 사용했다는 것을 제외하면 둘의 풀이는 거의 일치한다. (뿌-듯 😊)