プログラマー|Lv.2練習問題Part.1_JS
3042 ワード
難易度:Level.2
言語:Javascript
出題履歴:練習問題
N個の最小公倍数配列の数字から最小公倍数 を求める.
これは
ユークリッドアーク法は
最小公倍数はこの最大公倍数で求めた式である.
この点を理解したほうがいい.
2つの関数を事前に作成します.
結果.
124カ国の数字すべての数字が124の国で自然数 を変更
変更した数値文字列を取得するには、3で割った残りの値を使用します.
最大正方形を検索最大の正方形の幅を求めます
配列の値が1の場合、その部分をつかみます.
1が表示される場合は、上、左の対角線と左に1があるかどうかを確認します.
正方形かどうかを確認します.
次に、最後の答えの値に正方形のサイズを乗算します.
N個の最小の公倍数を求めます 最大の正方形を求めます
言語:Javascript
出題履歴:練習問題
フルプールコード 👈🏻 クリックしてGithubに移動
❓ Question 1
N個の最小公倍数
📝 My Solution 1
これは
유클리드 호제법
を使用する必要がある問題です.ユークリッドアーク法は
최대공약수
を求める公式で、最小公倍数はこの最大公倍数で求めた式である.
この点を理解したほうがいい.
const gcd = (a,b) => {
if (a === 0) return b
return gcd (b%a,a)
}
const lcm = (a, b) => {
return (a * b) / gcd(a, b);
};
gcd
は最大承諾数を求める方法です.lcm
は最小公倍数を求める方式である.2つの関数を事前に作成します.
function solution(arr) {
let answer = 1;
for (let i = 0; i < arr.length; i++) {
answer = lcm(answer, arr[i]);
}
return answer;
}
次に、繰り返し文で配列をナビゲートし、結果.
結果
❓ Question 2
124カ国の数字
📝 My Solution 2
function solution(n) {
var answer = '';
while (n > 0) {
switch (n % 3) {
case 1:
answer = "1" + answer;
n = parseInt(n / 3);
break;
case 2:
answer = "2" + answer;
n = parseInt(n / 3);
break;
case 0:
answer = "4" + answer;
n = n / 3 - 1;
break;
}
}
return answer;
}
switch
case
を利用し、変更した数値文字列を取得するには、3で割った残りの値を使用します.
結果
❓ Question 3
最大正方形を検索
📝 My Solution 3
function solution(board) {
var answer = 0;
let width = board[0].length;
let height = board.length;
if (width < 2 || height < 2) return 1
まず、横と縦の長さ値を変数として指定します.配列の値が1の場合、その部分をつかみます.
for (let i = 1; i < height; i++) {
for (let l = 1; l < width; l++) {
if (board[i][l]>0) {
let count = Math.min(board[i-1][l],board[i-1][l-1],board[i][l-1])
board[i][l] = count + 1
}
次に、配列に1が存在するかどうかを繰り返し文で検索します.1が表示される場合は、上、左の対角線と左に1があるかどうかを確認します.
正方形かどうかを確認します.
if (answer < board[i][l]) {
answer = board[i][l]
}
}
}
return answer ** 2;
}
次に、答えの値と現在の配列の値と比較して、より大きな値を入力します.次に、最後の答えの値に正方形のサイズを乗算します.
結果
参考になる文章
Reference
この問題について(プログラマー|Lv.2練習問題Part.1_JS), 我々は、より多くの情報をここで見つけました https://velog.io/@sstaar91/Algorithm-Programmers-Practice2-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol