코딩테스트 연습 - 신고 결과 받기 | 프로그래머스 (programmers.co.kr)
코딩테스트 연습 - 신고 결과 받기
문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의
programmers.co.kr
접근 : 구현
1. set을 활용한 중복제거
2. 객체를 활용한 데이터 정리 -> Map을 활용하는 것도 좋다고 생각하지만 아직 익숙하지 않다.
Javascript
function solution(id_list, report, k) {
let answer = new Array(id_list.length).fill(0);
let id_count = {};
//user ID, count
id_list.forEach(v=>{
id_count[v]=[0,[]];
})
//report 중복제거
report = [...new Set(report)];
report.forEach(v=>{
let [id,report_id] = v.split(" ");
id_count[report_id][0]++;
id_count[id][1].push(report_id);
});
let stop = id_list.filter(v=>id_count[v][0]>=k);
for(let j=0;j<id_list.length;j++){
let ID = id_list[j];
let tmp = id_count[ID][1];
for(let i of stop){
if(tmp.includes(i)) answer[j]++;
}
}
return answer;
}
'코딩테스트(알고리즘) > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 크레인 인형뽑기 게임 (Javascript) (0) | 2022.06.23 |
---|---|
[프로그래머스] 숫자 문자열과 영단어 (Javascript) (0) | 2022.06.23 |
[프로그래머스] 짝지어 제거하기 (Javascript) (0) | 2022.06.22 |
[프로그래머스] 124 나라 (Javascript) (0) | 2022.06.22 |
[프로그래머스] 큰 수 만들기 (Javascript) (0) | 2022.06.22 |