[TIL] d+10
4845 ワード
HTTPS
TLSで暗号化接続するHTTP(HTTP Secure)
httpとは異なり暗号化されているので安全です.
デフォルトポートが80のHTTPとは異なり、443番ポートを使用します.
従来のHTTPはテキストデータを交換する方式で,誰かが中間から信号を切り取ると内容が露呈する.(前回JWTログイン前のCookieログインのように)
HTTPSはこのような従来のデータ交換方式を暗号化し,2つの鍵を用いてサーバとクライアントの間でデータの暗号化と復号化を繰り返した.
https://jeong-pro.tistory.com/89
アルゴリズムを解く
整数平方根の判別
https://programmers.co.kr/learn/courses/30/lessons/12934
function solution(n) {
let answer = 0;
let x = Math.sqrt([n]) ;
Math.sqrt([n]) % 1 == 0 ? answer = (x+1)*(x+1) : answer = -1
return answer;
}
平方根の関数Mathを自分で解く.sqrt()...xが正の整数nの平方根である場合、xが1で除算されると、残りの部分は直接除算されない.
xを1で割ったときの余剰数が0の場合は問題平方(x+1)で、0でない場合は-1を返します.
最小数を削除
https://programmers.co.kr/learn/courses/30/lessons/12935
function solution(arr) {
if(arr.length == 1) {
return [-1];
}
let min = Math.min(...arr);
let arridx = arr.indexOf(min);
arr.splice(arridx, 1);
return arr;
}
まず,所与の配列から最小数を減算すると,配列に残りの要素,すなわちarrの長さが1でない場合,直ちに[−1]を返す.その他の場合、arr関数の最小数を検索し、要素のインデックス、場所を検索して削除します.
splice()は、配列内の要素の削除、置換、または追加など、何でもできます.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
コラズの推測
https://programmers.co.kr/learn/courses/30/lessons/12943
1-1. 入力した数字が偶数の場合は2に分けられます.
1-2. 入力した数字が奇数の場合、3を掛けて1を加算します.
2.結果が1になるまで、同じ操作を繰り返します.
function solution(num) {
let answer = 0;
for (let i = 0; i < 500; i++) {
if(num!==1){
num%2 == 0? num = num/2 : num = num*3+1;
} else {
answer = i
return answer
}
}
return -1;
}
タスクが500回以上繰り返されても1未満の場合は、-1を返すために、繰り返し文を最大500回に制限します.この条件文に条件文を置き、1まで修飾を繰り返します.
式を繰り返し続け、最終的に与えられた数が1の場合、2番目のインデックス(タスクの繰り返し回数)が返されます.
ハザード数
https://programmers.co.kr/learn/courses/30/lessons/12947
function solution(x) {
let answer = 0;
let xstr = x + '';
let sum = 0;
for(let i = 0; i < xstr.length; i++) {
sum += parseInt(xstr[i]);
}
x%sum == 0 ? answer = true : answer = false;
return answer;
}
まず、与えられた正の整数xを文字列に設定する.(空の文字列を追加すると、文字列は指定した数値と同じになります)
ハザード数条件に基づいて,xをxの桁数の和で割った場合,その値はいくらであるかを判断しなければならない.
数値桁数の和は前に解いた問題のように,繰り返し文の長さをxの文字列xstrの長さと等しくし,xstrのすべての数値を加算してParseInt()で数値を再生成する.
xをすべての桁数の和で割った場合、残数がなければtrueを返し、そうでなければfalseを返します.
フリップバイナリ
https://programmers.co.kr/learn/courses/30/lessons/68935
function solution(n) {
// let answer = 0;
// // let trit = n.toString(3);
// let trit = n.toString(3).split('').reverse().join('');
// answer = parseInt(trit,3)
// return answer;
let answer = 0;
let trit = '';
while(n>=3) {
trit += n % 3;
n = parseInt(n / 3);
} console.log(n)
trit += n % 3;
let length = trit.length;
for(let i = 0; i < trit.length; i++) {
length --;
answer += Number(trit[i])*3**length;
}
return answer
}
アノテーションコードが既存の関数を使用している場合.残りのコードは関数を使用せず、繰り返し文で3進数に変換し、10進数に変換します.
既存の関数を使うことは精神健康にいいのではないでしょうか.
符号化テストでどのように判断したのか知りたいのですが...
最小長方形
https://programmers.co.kr/learn/courses/30/lessons/86491
function solution(sizes) {
let answer = 0;
let w = [];
let h = [];
for (let i = 0; i < sizes.length; i++) {
if (sizes[i][0] < sizes[i][1]) sizes[i].reverse()
w.push(sizes[i][0])
h.push(sizes[i][1])
}
return Math.max(...w)*Math.max(...h)
}
横と縦に並ぶ[w,h]のhがwより大きい場合は、名刺を横にするように、2つの要素を逆さまにします.(無条件にwを大きくする)次に、最大の横方向の長さと最大の縦方向の長さを乗算して返します.
明日試験があります.がんばって…!
Reference
この問題について([TIL] d+10), 我々は、より多くの情報をここで見つけました https://velog.io/@greeneryyyyy/TIL-d10テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol