nearestSquare.js (8kyu 92)
Codewars 알고리즘 풀이
Problem
- Your task is to find the nearest square number, nearestSquare(n), of a positive integer n.
- 양의 정수 n의 가장 가까운 제곱수를 찾는다.
제곱수 (square number)
: 어떤 수를 제곱하여 얻은 수.
Solution 01
function nearestSquare(n) {
let a = Math.round(Math.sqrt(n));
return a * a;
}
nearestSquare(1); // 1
nearestSquare(2); // 1
nearestSquare(10); // 9
nearestSquare(111); // 121
nearestSquare(9999); // 10000
Math.round()
메소드가장 가까운 정수로 반올림한다.
Math.sqrt()
메소드숫자의 제곱근을 반환한다.
Solution 02
function nearestSquare(n) {
return Math.pow(Math.round(Math.sqrt(n)), 2);
}
nearestSquare(1); // 1
nearestSquare(2); // 1
nearestSquare(10); // 9
nearestSquare(111); // 121
nearestSquare(9999); // 10000
Math.pow(x, y)
메소드x의 값을 y의 거듭제곱(x^y)으로 반환한다.
Solution 03
function nearestSquare(n) {
return Math.round(n ** 0.5) ** 2;
}
nearestSquare(1); // 1
nearestSquare(2); // 1
nearestSquare(10); // 9
nearestSquare(111); // 121
nearestSquare(9999); // 10000