アルゴリズム学習3日目-問題解決(Javascript)
10106 ワード
次の3つの問題に対して問題プールを作成しました.
プログラマ-練習問題-小数点以下の桁数を追加
プログラマー-練習問題-整数平方根を判別する
1.小数点以下の桁数を追加(q 22)
問題の説明
自然数Nが与えられた場合,Nの各数の和を求め,返される解関数を求める.
たとえば、N=123の場合、1+2+3=6を返します.
せいげんじょうけん N範囲:10000000以下自然数 例
入力
他人の解答
2.整数平方根の判別(q 25)
問題の説明
任意の正の整数nについて、nがある正の整数xの二乗であるか否かを判断しようとする.
nが正の整数xの平方である場合、x+1の平方を返し、nが正の整数xの平方でない場合、-1を返す関数を完了する.
せいげんじょうけん nは正の整数で、1より大きく、5000000000000未満です. 例
入力 I/O例#1:121は正の整数11の二乗であり、144倍(11+1)を返します. I/O例#2:3は、正の整数の二乗ではないため、-1を返します. 私の答え
他人の解答
コメントURL
数値桁数の追加
Javascript map、reduceを使用
JavaScript配列Array。reduce()マイニング(ビデオ)
JavaScript配列Array。map()マイニング(ビデオ)
整数平方根の判別
MDN-RegExp正規表現
プログラマ-練習問題-小数点以下の桁数を追加
プログラマー-練習問題-整数平方根を判別する
1.小数点以下の桁数を追加(q 22)
問題の説明
自然数Nが与えられた場合,Nの各数の和を求め,返される解関数を求める.
たとえば、N=123の場合、1+2+3=6を返します.
せいげんじょうけん
入力
N=123
, N=987
しゅつりょく6
, 24
私の答えfunction solution(n)
{
var answer = 0;
//n=123 -> ['1','2','3']
console.log(n); // 123
console.log(n + ''); // '123'
console.log(typeof(n + '')); // string
function intTostrarray(number) {
return (number + '').split(''); // (number + '')를 배열에 한 글자씩 나눠 저장
}
let nArray = new Array();
nArray = intTostrarray(n);
console.log(nArray); // ['1', '2', '3']
// 초기값 0부터 시작, parseInt(number) 를 배열 처음부터 순차적으로 더한 값을 리턴
answer = nArray.reduce((accumulator, number) => accumulator + parseInt(number),0);
return answer;
}
mapとreduceが理解できずに半日うろうろしていたので、ビデオで全過程を見た後、Chrome開発者ツールのコンソールを自分で開けて、自分で操作して、理解が一番速いです.変数に関数を追加すると、関数を個別に宣言およびロードすることに反感を抱きます.他人の解答
function getDayName(a,b){
var dayList = ['FRI','SAT','SUN','MON','TUE','WED','THU'];
分析が必要...2.整数平方根の判別(q 25)
問題の説明
任意の正の整数nについて、nがある正の整数xの二乗であるか否かを判断しようとする.
nが正の整数xの平方である場合、x+1の平方を返し、nが正の整数xの平方でない場合、-1を返す関数を完了する.
せいげんじょうけん
入力
n=121
, n=3
しゅつりょく3
, -1
function solution(n) {
var answer = 0;
let x = Math.sqrt(n) // n의 제곱근은 x
// x가 정수인지 판별 후, true일 경우 (x+1)의 2제곱을, 아닐경우 -1 리턴
answer = Number.isInteger(x) ? Math.pow(x+1, 2) : -1;
return answer;
}
比較しました.他人の解答
function solution(s){
return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length;
}
作成中...コメントURL
数値桁数の追加
Javascript map、reduceを使用
JavaScript配列Array。reduce()マイニング(ビデオ)
JavaScript配列Array。map()マイニング(ビデオ)
整数平方根の判別
MDN-RegExp正規表現
Reference
この問題について(アルゴリズム学習3日目-問題解決(Javascript)), 我々は、より多くの情報をここで見つけました https://velog.io/@sinclebear/알고리즘-스터디-3일차-문제-풀이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol