[JS][프로그래머스]폰켓몬
Algorithm/Programmers

[JS][프로그래머스]폰켓몬

문제 번호

 

코딩테스트 연습 - 폰켓몬

당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.

programmers.co.kr

 

 

알고리즘 분류

 

 

문제 풀이

 Set은 중복을 허용하지 않는 자료구조이다.

 

Set - JavaScript | MDN

Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다.

developer.mozilla.org

 

이러한 성질을 이용해서 주어진 nums 배열을 set 으로 변형하고 그 set의 size를 반환하거나 N/2를 반환하면 된다.

 

전체코드

function solution(nums) {
    var answer = 1;
    let N = nums.length;    
    
    let temp = [...new Set(nums)];
    console.log(temp)
    
    return answer = temp.size > N/2 ? N/2 : temp.size;
}

 

 Set <=> Array의 관계는 알아두면 유용하게 많이 쓸 수 있을것 같다. Set 사용이 아직 익숙하지 않아서 자주 사용할 수 있도록 해야겠다.

특이사항