(레벨 1부터는 문제자체도 길고 복잡하다...)
nums는 폰켓몬 종류번호가 담긴 배열- 가질 수 있는 폰켓몬 갯수는
nums/2마리이다.- 고를 수 있는 종류의 최댓값을 return
function solution(nums) {
const max = parseInt(nums.length / 2)
const noRepeat = [...new Set(nums)]
return noRepeat.length > max ? max : noRepeat.length;
}
어렵지 않게 푼 듯.
max 개수를 설정한다. nums로 들어오는 배열의 길이를 2로 나눈다.parseInt로 정수로만 반환하게 한다. 소수점 제거 )new Set 메서드를 사용했다.new Set 메서드는 객체를 반환하므로, spread operator 로 배열로 변환해준다.new Set의 반환객체에 .size 를 붙여주면, 길이가 구해지긴 한다. 객체메서드인가 했는데, 또 아니다. )noRepeat의 length가 max보다 크면 안되므로 삼항연산자를 걸어준다.max보다 noRepeat의 길이가 크면 max를 반환. 아니면 noRepeat의 길이를 반환.리팩토링할 필요는 없을 것 같다. 잘 푼 듯! ✌🏻