프로그래머스 Level#1 - 폰켓몬

juyeong-s·2021년 6월 22일
0

프로그래머스

목록 보기
1/5

내가 짠 CODE

 function solution(nums) {
    var count;
    var num = new Array();
    num.push(nums[1]);
    var i, j, k;
    for(i=0; i<nums.length-1; i++){
        count = 1;
        for(j=i+1; j<nums.length; j++){
            for(k=0; k<num.length; k++){
                if(num[k] === nums[j]){
                    break; 
                }               
            }
            if(k === num.length){
                num.push(nums[j]);
            }
        } 
    }
    if(num.length > nums.length / 2){
        return nums.length / 2;
    }    
    return num.length;
}

결과

테스트 20개 중 4개는 시간초과가 뜸

느낌점

Javascript에 new Set() 중복없는 배열을 만들어 주는 함수가 있는 것을 알았다.

바뀐 CODE

function solution(nums) {
    var answer = 0;
    let set = new Set();
    
    for(const number of nums){
        set.add(number);
    }
    
    if( set.size < nums.length/2){
        answer = set.size;
    } else { 
        answer = nums.length/2;
    }

    return answer;
}
profile
frontend developer

0개의 댓글