문제설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 1,000,000
입출력 예
입출력 예 #1
- 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.
입출력 예 #2
- 976은 제곱수가 아닙니다. 따라서 2를 return합니다.
소스코드&결과
function solution(n) {
var answer = Math.sqrt(n);
return Number.isInteger(answer) ? 1 : 2;
}
코드 설명
var answer = Math.sqrt(n);
- answer값에 Math.sqrt()를 이용하여 n의 제곱근을 구해주었다. Math.sqrt()는 제곱근을 구해주는 함수이다.
- 만약 Math.sqrt()에 제곱수 말고 다른 값을 넣으면 부동소수점값이 나오게 된다.
return Number.isInteger(answer) ? 1 : 2;
- 따라서 정수인지 아닌지 확인할 수 있는 Number.isInteger()함수를 이용하여 정수인지 아닌지 판별해주었다.
true일 경우에는 정수이므로 1를 리턴해주었고, false일 경우에는 정수가 아닌경우로 2를 리턴해주었다.
'Coding Test > 프로그래머스' 카테고리의 다른 글
[JAVA] 예산 (0) | 2023.05.05 |
---|---|
[JAVA] 이상한 문자 만들기 (0) | 2023.05.02 |
[JavaScript] 배열 만들기 1 (0) | 2023.04.28 |
[JavaScript] 두 수의 연산 값 비교하기 (0) | 2023.04.20 |
[JavaScript] 배열 원소의 길이 (0) | 2023.04.19 |