폰켓몬

Mudi·2022년 11월 2일
0

[JavaScript] Coding Test

목록 보기
7/23
post-thumbnail

폰켓몬

문제 프로그래머스 폰켓몬

🔑 nums 배열 길이의 절반인 a와 중복한 수를 제외한 nums의 갯수를 비교해서 작은 것을 반환한다.


1차 풀이

function solution(nums) {
    let answer = 0;
    let set = new Set(nums);
    let arr = [...set];
    if((nums.length/2) < arr.length){
        answer += nums.length / 2 ;
    } else { 
        answer += arr.length
    }
    return answer;
}
  1. set으로 nums에 중복되는 숫자를 없애줍니다.
  2. 전개연산자로 set의 객체 리터럴을 날리고 배열에 담아줍니다.
  3. nums의 길이 절반과 set배열의 길이 중 작은 것을 반환합니다.

리팩토링

function solution(nums) {
    let numsSet = [...new Set(nums)];
    let numsHalf = nums.length/2
    let answer = numsHalf < numsSet.length ? numsHalf : numsSet.length;

    return answer;
}
  1. set과 배열에 담는 과정을 한번에 numsSet에 담았습니다.
  2. if문을 삼항연산자로 바꾸었습니다.

0개의 댓글