개발자 되는 법.../코딩테스트...

[JS] 정수 제곱근 판별

개발_자 2024. 6. 14. 17:07

 

function solution(n) {
    var answer = 0;
    let a = Math.sqrt(n)
    if (a % 1 === 0) {
        return answer = Math.pow(a + 1, 2);
    } else {return answer = -1;
           } return answer;
}

 

 

 

 

`n`이 정수인지 판별하는 방법

Number.isInteger(n) //Number.isInteger()함수

 

`Number.isInteger`는 `n`이 정수이면 `true`, 그렇지 않으면 `false` 반환

n % 1 === 0 //나머지 연산자(%) 활용

 

나머지 연산자 `%`는 두 숫자를 나누고 나머지 반환

 

`n % 1 === 0`이 참이라면, `n`은 정수

정수는 1로 나눴을 때 나머지가 항상 0이기 때문

 

 

 

거듭제곱과 제곱근 계산하는 방법

Math.pow(base, exponent) //Math.pow()함수 주어진 숫자의 거듭제곱을 계산함

 

base : 밑(base)으로 사용할 숫자

exponenet : 지수(exponenet)로 사용할 숫자

 

주어진 baseexponent만큼 거듭 제곱한 값

Math.sqrt(x) //Math.sqrt()함수 주어진 숫자의 제곱근을 계산함

 

x : 제곱근을 구할 숫자 (0 이상의 숫자여야 함)

 

주어진 숫자의 제곱근. 만약 n이 음수이면 `NaN`을 반환

 

 

 


 

 

다른 사람 풀이

 

 

 

 

`switch`문 : 특정 값에 따라 코드 블록을 실행할 수 있게 해주는 제어문

switch (expression) {
  case value1:
    // code block to be executed if expression === value1
    break;
  case value2:
    // code block to be executed if expression === value2
    break;
  ...
  default:
    // code block to be executed if expression doesn't match any case
}

 

expression : 평가할 표현식

case value`expression`이 이 값과 일치할 때 실행할 코드 블록

break : `switch`문을 종료하고 다음 코드로 이동. `break`가 없으면 다음 `case`로 실행이 넘어감

default : `case`값이 모두 일치하지 않을 때 실행할 코드 블록.

`default`는 선택 사항이며, `switch`문의 마지막에 위치함

 

`switch`문은 `if-else`문보다 가독성이 좋을 때 사용.

특히 하나의 표현식이 여러 다른 값과 비교되어야 할 때 유용