pocket
이라는 별도 저장소 마련for문
과 includes
의 대환장 콜라보function solution(nums) {
const pocket = [];
for (const ponketmon of nums) {
if (!pocket.includes(ponketmon)) {
pocket.push(ponketmon);
}
}
const pocketSize = pocket.length;
const maxPossibleSize = nums.length / 2;
if (pocketSize > maxPossibleSize) {
return maxPossibleSize;
} else {
return pocketSize;
}
}
테스트 통과속도
function solution(nums) {
const pocket = new Set();
for (const ponketmon of nums) {
pocket.add(ponketmon);
}
const pocketSize = pocket.size;
const maxPossibleSize = nums.length / 2;
if (pocketSize > maxPossibleSize) {
return maxPossibleSize;
} else {
return pocketSize;
}
}
테스트 통과속도
function solution(nums) {
const pocket = new Set(nums);
const maxPossibleSize = nums.length / 2;
return pocket.size > maxPossibleSize ? maxPossibleSize : pocket.size;
}
테스트 통과속도
테스트 16 기준 33.04ms >> 1.62ms > 0.49ms
테스트 1, 2, 3 같이 작은 테스트들은 속도에 큰 차이가 나지 않는데 15, 16, 17 처럼 크기가 커질수록 속도가 확연히! 차이나는 것을 볼 수 있다.