[JavaScript][Programmers] 폰켓몬

조준형·2021년 7월 15일
0

Algorithm

목록 보기
37/142
post-thumbnail

🔎 폰켓몬

❓ 문제링크

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의 길이를 출력시켜서 통과했다.

profile
깃허브 : github.com/JuneHyung

0개의 댓글