언젠가는 펼쳐 볼 아카이브

[Programmers] 폰켓몬 본문

IT/Programmers

[Programmers] 폰켓몬

개발자희망생고롸파덕 2024. 3. 11. 16:11

사용언어 : javascript

lv.1

문제 풀이 소요 시간 : 15분 52초

타입 : Hash

 

#문제 

출처 : 프로그래머스

#제출코드 

function solution(nums) {
    let answer = 0;
    let s = new Set();
    let n = Math.floor(nums.length/2);
    
    
    nums.map((item) => {
        s.add(item);
    })
    
    if(s.size > n){
        answer = n;
    }else{
        answer = s.size;
    }
    
    return answer;
}

중복된 값을 제거하는 Set을 이용해 문제를 풀었다.

중복이 제거된 종류 수가 "입력 받은 nums 배열/2" 보다 클 경우, 가져갈 수 있는 폰켓몬의 종류는 어떻게 선택해도 최대 선택할 수 있는 종류의 개수가 n개 이기 때문에 n개가 된다.

반대로 만약 중복이 제거된 종류 수가 n보다 작을 경우 최대로 선택할 수 있는 종류는 중복이 포함된 숫자이기 때문에, 중복이 제거된 Set의 개수를 리턴해주도록 했다.

'IT > Programmers' 카테고리의 다른 글

[Programmers] 기능개발  (0) 2024.03.18
[Programmers] 네트워크  (0) 2024.03.18
[Programmers] 게임 맵 최단 거리  (0) 2024.03.11
[Programmers] 타겟 넘버  (0) 2024.03.11
[Programmers] 문자열 나누기  (0) 2024.03.07