GitHub ID : soohyun-dev
윤수현의 개발 공간
GitHub ID : soohyun-dev
전체 방문자
오늘
어제
  • 분류 전체보기 (918)
    • 성장기록 (49)
      • 성장기록 (3)
      • 우아한테크코스 (16)
      • 프로젝트 (15)
      • TIL (14)
      • 테오의 스프린트 (1)
    • 프로그래밍언어 (88)
      • C언어 (14)
      • HTML\CSS (12)
      • JavaScript (7)
      • React (23)
      • Python (11)
      • JAVA (14)
      • TypeScript (6)
    • 알고리즘 공부 (736)
      • 코드업 - 파이썬 (108)
      • 백준 - 파이썬 (468)
      • 백준 - 자바스크립트 (125)
      • 프로그래머스 - 파이썬 (1)
      • 프로그래머스 - 자바스크립트 (34)
    • 책 리뷰 (9)
      • 프로그래밍 (3)
      • 독서 (6)
    • 전자기기 (1)
    • 일상, 일기 (18)
    • 기술 세미나 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 영어독해
  • 백준파이썬
  • 자바스크립트
  • 코딩테스트
  • 프로그래밍언어
  • 백준
  • 프로그래머스풀이
  • PYTHON
  • 파이썬
  • 영어
  • 독해
  • 프론트엔드
  • javascript
  • 코드업파이썬
  • 프로그래머스자바스크립트
  • 코딩
  • 백준풀이
  • 프로그래머스
  • 코드업
  • 코테

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GitHub ID : soohyun-dev

윤수현의 개발 공간

프로그래머스 / Level1 , 2022 KAKAO BLIND RECRUITMENT , 신고 결과 받기 자바스크립트 , JS
알고리즘 공부/프로그래머스 - 자바스크립트

프로그래머스 / Level1 , 2022 KAKAO BLIND RECRUITMENT , 신고 결과 받기 자바스크립트 , JS

2022. 9. 20. 16:13

프로그래머스 / Level1 , 2022 KAKAO BLIND RECRUITMENT , 신고 결과 받기 자바스크립트 , JS

 

 

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/92334?language=javascript 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

 

풀이

 

조금 이 문제 풀면서 어이가 없었다.

 

이유는 이 문제를 올해 초중반에 파이썬으로 풀었는데 솔직히 2시간동안 삽질만 했었던 문제다. 

 

물론 그때 코테 실력이 좋지는 않았음. 그래도 그때 못푼 기억에 이번엔 얼마만에 풀려나 다시 풀어봤는데

 

자바스크립트로 푸는데 5분도 안걸렸다....(그때 코테만 치루고 문제 다시 안봐서 풀이는 모르는 상태였음)

 

 

무서운게 시험 치를때는 하나에 꽂혀서 그 방법으로만 풀려고해서 삽질만 오지게 했는데 평상시에 그냥 푸니까 첨에 딱 생각한 풀이 그대로 로직이 잘 구현되고 잘풀렸다. 

 

체감상 2021년  신규아이디 추천 문제가 더 시간 걸렸음.

 

시험볼때도 안풀리면 차분하게 다시 보고 이런저런 방법을 적용해 봐야겠다. (말로는 쉽다)

 

 

 

 

이 문제 푼 방법은

 

1. 우선 set 을 사용해서 중복된 것들은 다 지워준다. (신고자가 동일한 상대를 신고하는걸 방지)

 

2. 이후 신고 당한 사람들의 누적 신고횟수를 카운트 해준다. 이때 dict를 사용한다.

 

3. 이후 루프를 한 번 더돌아서 누적신고횟수가 k와 같거나 넘었는지 확인해주고 true 라면 따로 선언한 cnt에 카운트 해준다.

 

4. 이후 id_list를 돌면서 각 id가 메일을 몇번 받는지만 체크해주면 된다.

 

 

 

 

 

정답

 

 

function solution(id_list, report, k) {
  var answer = [];
  let dict = {};
  let cnt = {};
  id_list.map((v) => {
    [dict[v], cnt[v]] = [0, 0];
  });
  report = new Set(report);
  report = [...report];
  report.map((v) => {
    let [A, B] = v.split(" ");
    dict[B] += 1;
  });
  report.map((v) => {
    let [A, B] = v.split(" ");
    if (dict[B] >= k) cnt[A] += 1;
  });

  id_list.map((v) => {
    answer.push(cnt[v]);
  });

  return answer;
}
반응형

'알고리즘 공부 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글

프로그래머스 / Level2 , 연습문제 , 행렬의 곱셈 자바스크립트 , JS  (0) 2022.09.21
프로그래머스 / Level2 , Summer/Winter Coding(~2018) , 점프와 순간 이동 자바스크립트 , JS  (0) 2022.09.20
프로그래머스 / Level1 , 2022 KAKAO TECH INTERNSHIP , 성격 유형 검사하기 자바스크립트 , JS  (1) 2022.09.20
프로그래머스 / Level1 , 2021 KAKAO BLIND RECRUITMENT , 신규 아이디 추천 자바스크립트 , JS  (0) 2022.09.20
프로그래머스 / Level2 , 2017 팁스타운 , 예상 대진표 자바스크립트 , JS  (0) 2022.09.20
    '알고리즘 공부/프로그래머스 - 자바스크립트' 카테고리의 다른 글
    • 프로그래머스 / Level2 , 연습문제 , 행렬의 곱셈 자바스크립트 , JS
    • 프로그래머스 / Level2 , Summer/Winter Coding(~2018) , 점프와 순간 이동 자바스크립트 , JS
    • 프로그래머스 / Level1 , 2022 KAKAO TECH INTERNSHIP , 성격 유형 검사하기 자바스크립트 , JS
    • 프로그래머스 / Level1 , 2021 KAKAO BLIND RECRUITMENT , 신규 아이디 추천 자바스크립트 , JS
    GitHub ID : soohyun-dev
    GitHub ID : soohyun-dev
    환영합니다!😊 이곳은 저의 개발에 관한 내용들을 정리하는 공간입니다. 알고리즘 풀이에도 관심이 많아요. 좋은 하루 되세요~! github : soohyun_dev

    티스토리툴바