https://programmers.co.kr/learn/courses/30/lessons/1845
function solution(nums) {
let answer = 0;
let set = new Set(nums);
set.size > nums.length/2 ? answer = nums.length/2 : answer = set.size
return answer;
}
let nums = [3,1,2,3];
console.log(solution(nums));
처음엔 테케들이 전부 num길이/2 길레 혹시? 하는마음에 num/2를 answer로 넣었는데 역시나 틀렸다.
그 다음엔 조합으로 생각해서 풀었다.
nums길이 개중에 nums/2개를 뽑는 조합을 만들어 결과배열을 돌면서 중복제거를 해주고, 길이를 측정하여 중간에 nums/2개가 나오면 멈추고 답을 도출시켰다.
하지만, 시간초과가나서 다시 생각해야했다.
마지막으로 중복제거를 먼저해주고, 어차피 최대는 num/2니까 set의길이가 num의 반틈이면 num/2를 출력. 아니면 set의 길이를 출력시켜서 통과했다.