Lv1. 폰켓몬 Javascript
https://programmers.co.kr/learn/courses/30/lessons/1845
// set 활용
function solution(nums) {
const max = nums.length / 2;
const uniq = [...new Set(nums)];
return uniq.length > max ? max : uniq.length
}
// set 활용
function solution(nums) {
const max = nums.length / 2;
const uniq = [...new Set(nums)];
// 포켓몬의 종류가 아무리 많아도 고를 수 있는 포켓몬 수 만큼의 종류만 가질 수 있음
// 고를 수 있는 포켓몬 수가 아무리 많아도 최대 종류 수는 정해져 있음
return uniq.length > max ? max : uniq.length
}
- programmers 다른 사람의 풀이(1)
reduce 활용const uniq = nums.reduce((acc, cur) => { acc.indexOf(cur) < 0 ? acc.push(cur) : ""; }, []);
- programmers 다른 사람의 풀이(2)
filter 활용function solution(nums) { // indexOf는 배열의 앞에서부터 찾는 특성을 가짐. // 따라서 앞서 나왔던(중복되는) num은 self에서 indexOf했을 때 현재의 index와 다름. // 그 값이 같은 경우만 필터링해서 그 length를 할당 const kindNum = nums.filter((num, i, self) => self.indexOf(num) === i).length; const pickNum = nums.length / 2; return kindNum >= pickNum ? pickNum : kindNum; }
댓글 환영
질문 환영
by.protect-me