function solution(nums) {
let pick = nums.length / 2;
nums.sort(); // nums 오름차순 정렬
const len = nums.length;
for (let i = 0; i < len; i++) {
if (nums[i] == nums[i - 1]) {
nums.splice(i - 1, i);
}
}
if (nums.length > pick) {
return pick;
} else {
return nums.length;
}
}
// ToDo result 2
console.log(solution(
[3, 1, 2, 3]
));
function solution(nums) {
let pick = nums.length / 2;
const phoneKetMon = nums.filter((mon, i, arr) => arr.indexOf(mon) === i);
return phoneKetMon.length > pick ? pick : phoneKetMon.length;
}
// ToDo result 2
console.log(solution(
[3, 1, 2, 3]
));
간단하게 배열에서 중복되는 값을 제거하는 방법을 배웠다..!
아래의 예시에 의하면, [1, 2, 3, 3]
배열에서 각 숫자의 인덱스는 0, 1, 2
이고, i는 0, 1, 2, 3
이므로 0, 1, 2
값만 필터링 된다.
[1, 2, 3, 3].filter((n, i, arr) => arr.indexOf(n) === i)
다양한 테스트케이스에 대해서 고려하면서 문제를 풀자.