[LeetCode] 1952. Three Divisors

임혁진·2022년 8월 4일
0

알고리즘

목록 보기
2/64
post-thumbnail

1952. Three Divisors


문제 링크: https://leetcode.com/problems/three-divisors/

Solution

약수가 3개만 있다는 것은 본인이 소수의 제곱수일 경우만 해당한다. (4, 9, 25, ...)

따라서 제곱근 함수를 통해 제곱수인지를 확인하고 그 제곱수가 소수인지 판별해 문제를 해결했다.

/**
 * @param {number} n
 * @return {boolean}
 */
var isThree = function(n) {
    if (n <= 3) return false;
    const sqrtOfN = Math.sqrt(n);
    if (!Number.isInteger(sqrtOfN)) return false;
    for (let i = 2; i <= Math.sqrt(sqrtOfN); i++) {
        if (sqrtOfN % i === 0) return false;
    }
    return true;
};

profile
TIL과 알고리즘

0개의 댓글