Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[JavaScript] 프로그래머스 코딩테스트 입문 : 제곱수 판별하기 본문

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 입문 : 제곱수 판별하기

썸머몽 2023. 3. 23. 23:11
728x90

📌  문제

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.

 

  • 0 ≤ n ≤ 1,000,000

📌  풀이

예를 들어 144의 경우 12의 제곱수 이기 때문에 1이 나오고, 976같이 제곱수가 아닌 경우에는 2를 출력해야 한다.제곱수인지 아닌지 어떻게 판별할까? 

 

 

Math.sqrt() - JavaScript | MDN

The Math.sqrt() static method returns the square root of a number. That is

developer.mozilla.org

Math.sqrt()를 사용한다.

이 메서드는 인수의 제곱근을 반환한다. 

즉 Math.sqrt(144)는 12를 리턴하고, Math.sqrt(976)은 31.24... 를 리턴한다.

리턴된 값에 똑같이 동일한 값을 곱했을 때 주어진 정수 n이 나온다면 그것은 제곱수일 것이다.

킥은 제곱근의 소수점 부분을 삭제하는 것이다. 그렇지 않으면 976의 경우 975.999.... 가 나와서 값이 달라진다.

📌  코드

function solution(n) {
    let a = parseInt(Math.sqrt(n));
    if (a*a === n) {
        return 1
    } else {
        return 2
    }
}
728x90