プログラミングアルゴリズムLV.1-整数平方根判別
8132 ワード
https://programmers.co.kr/learn/courses/30/lessons/12934
📕私の答え
なのか分かりませんが、上記のように8番行の二乗は使いません.いろいろなテストをしてarrayだと気づきましたindexOfを使用して得られた数値では、演算子は機能しません.私がビジュアルスタジオで作ったとき、よく食べました. です.、よく見ると、10号線だからそうなんだけど、ふふ…コードの配置順序は問題 です.
さらにを考えてみると,平方根判別を行う際に平方根に関する手法を用いることは,平方根判別関数の論理構造を学習する観点から,良い選択ではないようである.
📘他人を解く
の場合のみ計算され、速度が最も速い 条件文自体が計算式なので、効率が高いようです
私は常に、私の解答がこの問題を実現するために要求された論理的な方法を使用するかどうかを考えています. は、どのようにしてより効率的なコードになるかを常に考えています. 私がパラメータとして入力した値だけが、対応する値 にコードを効率的に記述することができます.
📕私の答え
なぜ
さらに
function solution(n) {
var answer;
let integerArr = [0, 0];
for (let i = 1; i <= Math.floor(Math.sqrt(50000000000000)); i++) {
integerArr.push(i);
}
answer = integerArr.indexOf(Math.sqrt(n));
if (integerArr.indexOf(Math.sqrt(n)) > 0) {
answer = integerArr.indexOf(Math.sqrt(n)) ** 2;
}
return answer;
}
方法も多すぎて,所与の条件範囲内のすべての数を計算する配列を確立し,コードの速度の面でかなり非効率であるようだ.📘他人を解く
上の解答を見て再適用した私の解答function solution(n) {
var answer = -1;
let x = 0;
while (x ** 2 < n) {
x++;
}
if (x ** 2 === n) {
answer = (x + 1) ** 2;
}
return answer;
}
上のプールnが既存のマイプールより小さい場合、大量の演算を必要としないため、効率が高いほどnが大きくなり、効率が低くなります.
📘他人解答2
上の文章を見て再適用した私の文章function solution(n) {
switch(n % Math.sqrt(n)){
case 0:
return (Math.sqrt(n) + 1) ** 2;
default:
return -1
}
}
nが
function solution(n) {
var answer = -1;
let x = 0;
while (x ** 2 < n) {
x++;
}
if (x ** 2 === n) {
answer = (x + 1) ** 2;
}
return answer;
}
上の文章を見て再適用した私の文章
function solution(n) {
switch(n % Math.sqrt(n)){
case 0:
return (Math.sqrt(n) + 1) ** 2;
default:
return -1
}
}
nが📝整理する
Reference
この問題について(プログラミングアルゴリズムLV.1-整数平方根判別), 我々は、より多くの情報をここで見つけました https://velog.io/@roadzmoon76/프로그래머스-알고리즘-LV.1-정수-제곱근-판별テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol