https://school.programmers.co.kr/learn/courses/30/lessons/12934
문제는 쉽지만 다양한 코드를 상기하고자 기록을 남깁니다.
나의 코드
function solution(n) {
if(Math.floor(Math.sqrt(n)) == Math.sqrt(n)){
return Math.floor(Math.sqrt(n)+1)**2;
}else{
return -1;
}
}
다른 사람 풀이
function solution(n) {
let sqr = Math.sqrt(n);
return sqr%1 ? -1 : (sqr+1)**2;
이렇게 % 1을 통해서 소수점만 빼올 수 있다.
양의 정수는 0이고 유리수이면 뒤에 소수점만 출력이된다.
function nextSqaure(n){
var result = 0;
var n = Math.sqrt(n);
result = Number.isInteger(n) ? Math.pow(n+1, 2) : -1;
return result;
}
제곱계산한는데 pow도 사용할 수 있지만 pow의 대체재로 나온 **이 더 편리하다
'알고리즘 > 프로그래머스 - JS' 카테고리의 다른 글
[프로그래머스-JS] level.1 제일 작은 수 제거 <**> (0) | 2022.08.04 |
---|---|
[프로그래머스-JS] level.1 최대공약수와 최소공배수 <*> (0) | 2022.08.04 |
[프로그래머스-JS] level.1 자연수 뒤집어 배열로 만들기 (0) | 2022.08.04 |
[프로그래머스-JS] level.1 자릿수 더하기 (0) | 2022.08.03 |
[프로그래머스-JS] level.1 약수의 합 < **> (0) | 2022.08.03 |