レイアウト[Js]を参照し、プログラマの問題を解く(失敗率)
1740 ワード
プログラマーの問題を解決している間に、アレイで何かを見つけたいとき!使い方をまとめて、コメントを書きます!
ex) arr.indexOf, arr.lastIndexOf, includes
これは、ターゲットが文字列ではなく配列内の要素であるためです. arr.indexOf(item,from):インデックスからitem要素を検索します.エレメントが見つかった場合は、そのエレメントのインデックスが返されます.見つからない場合は-1が返されます. arr.laseIndexOf(item,from):上記の方法と同じ機能を持っていますが、検索が最後から始まる点が違います! arr.includes(item,from):インデックスからアイテムが存在するかどうかを検索し、エレメントが見つかったらtrueを返します.
配列がオブジェクトで構成されていると仮定すると、配列内で特定の条件に合致するオブジェクトを検索する場合にarr.find(fn)を使用できます.
findメソッドは、関数の戻り値をtrueに設定する一意の要素を検索します.複数の要素が条件を満たしている場合はarr.filter(fn)を使用します.
2019年のKakaoBlandRescruting問題ですが、Lv 1問題にはそれなりの方法が使われているので、簡単に解決できました.詳しくはプログラマーサイトで確認してください!
このフェーズには失敗したユーザが含まれていないため、personとして定義されます. for文で反復文 を返すフィルタを用いる条件を満たす要素の長さ を取得する. answer. pushにより対応するフェーズ番号と失敗率を配列形式で入力 answer.sortによる降順ソート ですが、必要な戻り値は0番目のインデックスのフェーズ番号なので、答えます.mapでは0番目のインデックス値のみが返されます!
1.indexOf、lastIndexOf、include
ex) arr.indexOf, arr.lastIndexOf, includes
これは、ターゲットが文字列ではなく配列内の要素であるためです.
2.findとfindIndex
配列がオブジェクトで構成されていると仮定すると、配列内で特定の条件に合致するオブジェクトを検索する場合にarr.find(fn)を使用できます.
let users = [
{id: 1, name: "John"},
{id: 2, name: "Pete"},
{id: 3, name: "Mary"}
];
let user = users.find(item => item.id == 1);
alert(user.name); // John
3. filter
findメソッドは、関数の戻り値をtrueに設定する一意の要素を検索します.複数の要素が条件を満たしている場合はarr.filter(fn)を使用します.
プログラマの失敗率の問題の解決
2019年のKakaoBlandRescruting問題ですが、Lv 1問題にはそれなりの方法が使われているので、簡単に解決できました.詳しくはプログラマーサイトで確認してください!
function solution(N, stages) {
var answer = [];
let person = stages.length;
for(let j=1;j<=N;j++){
let count = stages.filter(N=>N===j).length;
answer.push([j,count/person]);
person = person-count;
}
answer = answer.sort((a,b)=> b[1]-a[1]);
return answer.map(a=>a[0]);
}
Reference
この問題について(レイアウト[Js]を参照し、プログラマの問題を解く(失敗率)), 我々は、より多くの情報をここで見つけました https://velog.io/@hi980506/Js-배열-탐색하기-및-프로그래머스-문제풀이실패율テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol