<문제 설명>
제한사항
입출력 예nresult
입출력 예 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 1,000,000
입출력 예nresult
144 | 1 |
976 | 2 |
입출력 예 설명
입출력 예 #1
- 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.
입출력 예 #2
- 976은 제곱수가 아닙니다. 따라서 2를 return합니다.
<제출 답안>
function solution(n) {
let sqrt = Math.sqrt(n);
return sqrt === parseInt(sqrt)? 1: 2
}
아래와 같이 그대로 집어넣을 수 있다.
function solution(n) {
return Math.sqrt(n) === parseInt(Math.sqrt(n))? 1: 2
}
Math.sqrt()는 제곱근 씌우는 메서드인데 몰라서 검색해서 찾았다.
다른 사람 답을 보니.. isInteger을 썻다.
function solution(n) {
return Number.isInteger(Math.sqrt(n)) ? 1 : 2;
}
<참조 내용>
0. Math.sqrt(Object) 반환 값
주어진 숫자에 루트(√ )를 씌웁니다. 만약 숫자가 음수이면 NaN를 반환합니다.
1. Number.isInteger() 함수
Number.inInteger() 함수는 파라미터로 입력받은 값이 정수인지 판단합니다.
가장 간단하게, 데이터가 정수인지 판단할 수 있는 방법입니다.
하지만, 이 함수는 인터넷 익스플로러에서는 동작하지 않습니다.
2. 나머지 연산자(%) 활용
function isInteger(number) {
return number % 1 === 0;
}
document.writeln(isInteger(10)); // true
document.writeln(isInteger(0)); // true
document.writeln(isInteger(-10)); // true
document.writeln(isInteger(123.1)); // false
Javascript에서 나머지 연산자(%)는 두 수를 나누었을 때 나머지 값을 구해줍니다.
정수는 1로 나누었을 경우 항상 나머지가 0이 되는 속성을 이용해서,
주어진 숫자가 정수인지 체크하는 방법입니다.
Array.isArray()
Array.isArray() 메서드는 인자가 Array인지 판별합니다.
Array.isArray([1, 2, 3]); // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar'); // false
Array.isArray(undefined); // false
Copy to Clipboard구문
Array.isArray(obj)
Copy to Clipboard매개변수
obj
검사할 객체.
'🗃️javascript > 프로그래머스' 카테고리의 다른 글
숨어있는 숫자의 덧셈 (1)(Lv.0)(정규식 대략 정리) (0) | 2022.12.29 |
---|---|
순서쌍 구하기(Lv.0)(=약수 갯수 구하기) (0) | 2022.12.29 |
자릿수 더하기(Lv.0)(toString, Number() 사용하기) (0) | 2022.12.29 |
배열의 유사도(Lv.0)(배열 간의 교집합, 차집합, 대칭차집합)(if문, 반복문) (1) | 2022.12.29 |
문자열안에 문자열(Lv.0)(includes와 indexOf 사용해보기) (0) | 2022.12.29 |