Problem Solving/프로그래머스

[프로그래머스/JavaScript] 폰켓몬

세고래 2022. 10. 23. 17:32

https://school.programmers.co.kr/learn/courses/30/lessons/1845

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


1) 풀이

시험이 끝나고 오랜만에 푸는 알고리즘..

 

처음에는 어떤 식으로 문제를 풀어야 할지 막막했으나, '같은 종류' 의 폰켓몬이라는 말을 보고 생각해냈다!

인자로 받는 배열에서 중복되는 요소들을 빼주고, 중복된 요소를 제외한 배열의 길이와

nums(인자로 받는 배열)/2 를 비교해 적절하게 출력해주면 되는 문제!

 

이전에 set인가 map으로 중복 제거를 했던 것 같은데 잘 기억이 나지 않아서,

찾아보니까 자료구조 set 이구나..

다른 중복 제거 방법도 많은데 이건 그냥 배열을 new Set() 안에 집어넣어주면 되는 거라

제일 간편! 기억해두자!

 

2) 최종 소스코드
function solution(nums) {
    let myset = new Set(nums);
    if(myset.size>=nums.length/2) return nums.length/2;
    return myset.size;
}
3) 참고자료

https://velog.io/@dolarge/Java-Script-Set-%EA%B3%BC-Map

 

[JavaScript] 37. Set 과 Map

set 객체는 중복되지 않는 유일한 값들의 집합이다. set 객체는 다음과 같은 특징을 가진다. 1\. 동일한 값을 중복하여 포함할수 없다요소 순서에 의미가 없다인덱스로 요소에 접근할 수 없다.이러

velog.io

 

728x90