[Programmers]92334通報結果の受信
プログラマはレベル別に問題を分けます.でも1級で思い出せないのは恥ずかしい
どんな問題を見ても迷わず努力しなければならない.
ソース:プログラマコードテスト練習
問題を簡単に解く条件はこうです.
申告者が申告したリストの中でどれだけの人が使用を停止されたかという問題があります.
アルゴリズムの問題を真剣にやろうと決心したのは初めてで、コードが乱れているように見えます.
重複除外部分でSetを使用すると、よりクリーンになる可能性があります.
どんな問題を見ても迷わず努力しなければならない.
質問する
ソース:プログラマコードテスト練習
に答える
問題を簡単に解く条件はこうです.
申告者が申告したリストの中でどれだけの人が使用を停止されたかという問題があります.
function solution(id_list, report, k) {
const answer = Array(id_list.length).fill(0);
const info = {};
for (let id of id_list) { // info 객체 초기화
info[id] = {
reported: 0,
reporters: [],
};
}
for (let data of report) {
const [reporter, reportedPerson] = data.split(' ');
if (!info[reportedPerson].reporters.includes(reporter)) {
// 중복 신고 방지
info[reportedPerson].reported++;
info[reportedPerson].reporters.push(reporter);
}
}
for (let data in info) { // 정지당한 사람 필터링
if (info[data].reported >= k) {
for (let reporter of info[data].reporters) {
answer[id_list.indexOf(reporter)]++;
}
}
}
console.log(answer);
return answer;
}
これは、infoオブジェクトを作成して、申告者と申告回数を格納し、すべてのデータを加工し、パラメータに基づいてフィルタリングするコードです.アルゴリズムの問題を真剣にやろうと決心したのは初めてで、コードが乱れているように見えます.
重複除外部分でSetを使用すると、よりクリーンになる可能性があります.
Reference
この問題について([Programmers]92334通報結果の受信), 我々は、より多くの情報をここで見つけました https://velog.io/@ja960508/Programmers-92334-신고-결과-받기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol