프로그래머스[Level 2] 신고 결과 받기

bkboy·2022년 6월 29일
0

문제

링크

입출력 예

풀이

const soltion = (id_list, report, k) => {
  const answer = new Array(id_list.length).fill(0);

  const report_list = {};

  for (let key of id_list) {
    report_list[key] = new Set();
  }

  for (let x of report) {
    const [user, reporter] = x.split(" ");
    report_list[reporter].add(user);
  }

  for (const key in report_list) {
    if (report_list[key].size >= k) {
      const arr = [...report_list[key]];
      arr.map((e) => {
        answer[id_list.indexOf(e)]++;
      });
    }
  }
  return answer;
};

report_list에 key을 신고당한 사람으로 생각하고 신고 당한 사람들을 value에 넣어준다. 중복을 제거해주기 위해 set으로 설정했다.

그러면 길이만 구하면 신고한 사람이 몇명인지 쉽게 판단 할 수 있다.

profile
음악하는 개발자

0개의 댓글