본문 바로가기
JavaScript

TIL 1009 소수구하기 null 과 undefined 구분

by 짱닭 2020. 10. 12.
반응형

소수구하기

내 풀이

function prime(num){
  let count=0;

  for(let i=1;i<=num;i++){
    if(num%i===0){
      count++;
    }
  }

  if(count===2){
    return true;
  }else{
    return false;
  }
}

num의 약수를 count로 센 다음,
약수가 2개뿐이라면 소수인것으로 판별.

다른 방법

function prime(num) {
  let sqrt = parseInt(Math.sqrt(num));

  if (num === 2) {
    return true;
  }

  if (num % 2 === 0) {
    return false;
  }

  for (let i = 3; i <= sqrt; i += 2) {
    if (num % i === 0) {
      return false;
    }
  }

  return true;
}

"2보다 크고, 해당 숫자의 제곱근보다 작거나같은 숫자중에 약수가 없다면 소수"라는 명제에 기반한 풀이
나누는 수는 홀수만 적용되므로 i는 2씩 증가한다.

null 과 undefined 구분

원래 JavaScript에는 null 타입이 없다.
따라서

if(typeof arg === 'object' && !arg){
  arg===null; //true;
}

//또는

if(arg === null){
  return true;
}
반응형

댓글