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
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[프로그래머스/JavaScript] 올바른 괄호 (0) | 2022.10.25 |
---|---|
[프로그래머스/JavaScript] 2016년 (0) | 2022.10.23 |
[프로그래머스/JavaScript] 수박수박수박수박수박수? (0) | 2022.10.11 |
[프로그래머스/JavaScript] 정수 제곱근 판별 (0) | 2022.10.07 |
[프로그래머스/JavaScript] 정수 내림차순으로 배치하기 (0) | 2022.10.06 |