[프로그래머스 | Javascript] 정수 제곱근 판별

박기영·2022년 9월 12일
0

프로그래머스

목록 보기
25/159
post-custom-banner

solution

function solution(n) {
    // n의 제곱근을 구한다.
    let num = Math.sqrt(n);
    
    // 만약 n이 정수의 제곱근으로 표현되지 않는다면
    // 1로 나눈 나머지가 0이 아닌, 0.xxx가 될 것이다.
    // 따라서 그 경우에는 -1을 반환
    if(num % 1 !== 0){
        return -1;
    } else {
        // 정수의 제곱근으로 표현된다면
        // num + 1의 제곱을 반환한다.
        return (num + 1)**2;
    }
}

Math.sqrt()는 음수가 들어가면 NaN을 반환하는데,
문제 조건이 1 이상의 숫자가 들어오므로, 이는 신경쓰지 않아도 된다.

예를들어, n이 3이라면 num은 1.xxxx가 되는데
이를 1로 나누면 0.xxxx가 남으므로 num이 정수가 아니라는 것을 알 수 있다.
이를 활용하여 문제를 해결했다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글