문제 번호
코딩테스트 연습 - 폰켓몬
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 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 사용이 아직 익숙하지 않아서 자주 사용할 수 있도록 해야겠다.
특이사항
'Algorithm > Programmers' 카테고리의 다른 글
[JS][프로그래머스]숫자 문자열과 영단어 (0) | 2021.08.31 |
---|---|
[JS][프로그래머스]키패드 누르기 (0) | 2021.08.31 |
[JS][프로그래머스]실패율 (0) | 2021.08.30 |
[JS][프로그래머스]3진법 뒤집기 (0) | 2021.08.30 |
[JS][프로그래머스]1차_비밀지도 (0) | 2021.08.29 |