본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 93 - 정수 제곱근 판별)

728x90

 

# 문제

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.



# 답안

// 1. 입력: 양의 정수 n
// 2. 출력: 제곱수면 x+1의 제곱 return, 아니면 -1 return

// Math.sqrt(n)으로 n의 제곱근 계산
// Number.isInteger()로 계산된 제곱근이 정수인지를 판단

function solution(n) {
    let sqrt = Math.sqrt(n);
    if (Number.isInteger(sqrt)){
        return (sqrt+1)*(sqrt+1);
    } else{
       return -1
    }
    return answer;
}

 

Math.squrt()
- 주어진 숫자의 제곱근을 반환하는 JavaScript의 내장 함수
- sqrt는 "square root"의 약어에서 유래
- 예를 들어, Math.sqrt(25)를 호출하면 25의 제곱근인 5가 반환

 

Number.isInteger()
- 주어진 값이 정수인지 여부를 판단하는 JavaScript의 내장 함수
- Number는 JavaScript의 내장 객체 중 하나이며, isInteger()은 이 객체의 정적(static) 메서드
- "Integer"는 영어로 "정수"를 의미

 

728x90