코딩테스트

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

라임온조 2023. 6. 21. 18:20

문제 및 코드

 

GitHub - Lee-Min-Jung/coding_test_practice

Contribute to Lee-Min-Jung/coding_test_practice development by creating an account on GitHub.

github.com

 

회고

  • 누가 누구를 신고했는지 HashMap으로 표현하는 것, 신고 받은 사람의 신고 횟수를 HashMap으로 표현하는 것 까지는 생각이 났다.
  • 그런데 A가 B를 여러 번 신고하는 걸 어떻게 처리하지? 이렇게 생각하다가 시간을 오래 잡아먹었는데, 누가 누구를 신고했는지 HashMap으로 표현할 때 HashMap<String, HashSet<String>>으로 표현하면 간단하게 해결이 되었다.
  • 그리고 마지막에 각 유저별 메일 횟수 구할 때도 이미 구해 놓은 HashMap을 이용해서 각 유저별 신고한 아이디들 중 신고 횟수가 특정 횟수 이상인 것들을 세서 메일 횟수를 구해 각 유저 배열에 저장해주면 쉽게 처리할 수 있다. 즉, cancel이라는 변수를 만들어 굳이 정지당한 사람들을 따로 모아 놓을 필요가 없다.

 

기억

  • 중복되면 안되는 값들을 저장할 때는 Set 자료구조를 떠올려보자

 

체크

풀이 횟수 시간 정답 여부 참고 여부
2 3시간   O