テストコード|(JavaScript)プログラマー:整数平方根を判別する
に質問
任意の正の整数nについて、nがある正の整数xの二乗であるか否かを判断しようとする.
nが正の整数xの平方である場合、x+1の平方を返し、nが正の整数xの平方でない場合、-1を返す関数を完了する.
制限
🎹📢I/O例
ほどく
function solution(n) {
let answer = 0;
// 제곱근을 구한다.
let x = Math.sqrt(n);
// 제곱근이 양의 정수가 아니라면 -1, 정수라면 x+1의 제곱의 값을 반환한다.
answer = Number.isInteger(x) ? Math.pow(x+1, 2) : -1;
return answer;
}
最初は、元の方法で文を繰り返して平方根を求めたいと思っていましたが、実行速度に大きな損失があり、サポートされている平方根のMath.sqrt(x)
と、値を返すMath.pow(base, exponent)
Mathを返しました.pow()は、ベース値に指数を乗算する関数です.Math.pow(x, 0.5);
で平方根を求めることもできます.Math.pow(-5, 0.5)
の場合、NANに戻ります.参考資料とサイト(ありがとうございます)
Reference
この問題について(テストコード|(JavaScript)プログラマー:整数平方根を判別する), 我々は、より多くの情報をここで見つけました https://velog.io/@goblin820/코딩테스트-JavaScript-프로그래머스-정수-제곱근-판별テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol