STUDY/코딩테스트

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

쑥말고인절미 2022. 8. 19. 22:51

문제


내 답안

function solution(n) {
    if(Number.isInteger(Math.sqrt(n))) {
        let num = Math.sqrt(n);
        return Math.pow(num+1, 2);
    } else {
        return -1;
    }
}

메모

우선 input값인 n을 루트로 계산해서 정수가 나오는지 확인한 후 정수인 경우에는 (정수+1)^2를 리턴해주고 그렇지 않으면 -1이 리턴되게 작성했다. 소스가 짧으니까 만족스럽긴하다.

아래는 친구소스! 나보다 더 짧다. 나도 저렇게 쓰도록 노력해야지.. 부럽다

function solution(n) {
    var sq = Math.sqrt(n);
    
    return Number.isInteger(sq % 1) ? Math.pow(sq+1, 2) : -1  ;
}

참고링크

https://webisfree.com/2018-06-27/[자바스크립트]-루트와-제곱-구하는-방법 

 

[자바스크립트] 루트와 제곱 구하는 방법

자바스크립트을 사용하여 루트를 구하는 방법과 제곱을 구하는 방법을 함께 알아봅니다.

webisfree.com

https://mine-it-record.tistory.com/398

 

[JavaScript] Number.isInteger() - 특정 값의 정수/소수점 여부 확인하기

스크립트에서 특정 값이 정수인지 판별해주는 메서드가 존재하는데, Number.isInteger() 메서드에 대해 알아보자. ▷ 구문 Number.isInteger(value) 가볍게 예제를 통해 접근해보자. ▷ 예제1) Number.isInteger(2.

mine-it-record.tistory.com