프로그래머스 Lv1 신고결과받기

taeng·2022년 5월 23일
0

알고리즘

목록 보기
12/12

최초 코드 75 시간초과


    report =[...new Set(report)];
    let list = {};
    // 신고 받은 횟수 
    for(let i=0; i < report.length; i++){
      list[report[i].split(' ')[1]] = (list[report[i].split(' ')[1]]|0) +1 ;
    }
    // 신고 횟수 정지 횟수 비교     
  
  return id_list.map(t=>{
      let count = 0 ;
      let g = report.filter(v=>v.split(' ')[0]==t);
      if(!g) return 0
      for(let i=0; i<g.length;i++){
        let c =g[i].split(' ')[1];
        if(k<=list[c]){
          count +=1;
        }
      }
      return count;
    })

수정코드 신고당한 사람을 기준으로 정리

 let result  =  Array(id_list.length).fill(0) ;
    let list = {};
    report = [...new Set(report)];
    for (let i = 0; i < report.length; i++){
      let [x,y] = report[i].split(' ');
      if(list[y]){
        list[y].push(x);
      }else{
        list[y] = [x];
      }
    }
    
    for(let key in list){
      if(list[key].length>=k){
        for(let i = 0; i < list[key].length; i++ ){
          result[id_list.indexOf(list[key][i])] += 1;
        }
      }
    }
    return result
profile
주니어 백엔드 개발자 공부 정리

0개의 댓글