프로그래머스

[프로그래머스] 폰켓몬 (javascript)

해랑쓰 2021. 3. 18. 14:05
728x90
반응형

만약 중복되지 않은 수가 n/2개와 같거나 크면 최대 개수는 n/2이다.

{2,2,3,4,5,6} => {2,3,4,5,6} => 5개 중에 아무거나 3개 뽑으면 된다.

 

만약 중복되지 않은 수가 n/2보다 작다면 아무리 많은 경우가 있어도 최대 중복되지 않은 개수이다.

{2,2,2,2,3,3,3,3} => {2,3} <- 아무리 2와 3을 더 넣어도 중복되지 않은 개수는 변하지 않는다.

function solution(nums) {
    const len=nums.length;
    const set=new Set();
    for(let i=0;i<nums.length;i+=1){
        set.add(nums[i]);
    }
    if(set.size>=len/2)return len/2;
    return set.size;
}

 

728x90
반응형